home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_gen / inter49c.zip / INTERRUP.K < prev    next >
Text File  |  1996-02-11  |  315KB  |  8,732 lines

  1. Interrupt List, part 11 of 14
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996 Ralf Brown
  3. --------h-4D---------------------------------
  4. INT 4D - Z100 - Slave 8259 - S100 vectored line 5
  5. SeeAlso: INT 4C"Z100",INT 4E"Z100"
  6. --------B-4D00-------------------------------
  7. INT 4D - TI Professional PC - DISK - RESET DISK SYSTEM
  8.     AH = 00h
  9.     DL = drive (if bit 7 is set both hard disks and floppy disks reset)
  10. Return: AH = status (see #0141 at INT 13/AH=01h)
  11.     CF clear if successful (returned AH=00h)
  12.     CF set on error
  13. Note:    this function is the same as INT 13/AH=00h on a standard PC BIOS
  14. SeeAlso: AH=01h,AH=02h,AH=08h,AH=0Bh,INT 13/AH=00h,INT 46"TI Professional"
  15. SeeAlso: INT 48"TI Professional",INT 4A"TI Professional"
  16. --------B-4D01-------------------------------
  17. INT 4D - TI Professional PC - DISK - GET STATUS OF LAST OPERATION
  18.     AH = 01h
  19.     DL = drive (bit 7 set for hard disk)
  20. Return: CF clear if status unchanged
  21.     CF set if status changed since last call
  22.     AH = 00h
  23.     AL = status of previous operation (see #0141 at INT 13/AH=01h)
  24. Notes:    this function is nearly the same as INT 13/AH=01h on a standard PC BIOS
  25.     the TI's BIOS tranparently performs a number of retries, and an error
  26.       status is only reported if all of the retries fail.  To get the error
  27.       status if the operation succeeded on a retry, use AH=07h instead
  28. SeeAlso: AH=00h,AH=07h,INT 13/AH=01h
  29. --------B-4D02-------------------------------
  30. INT 4D - TI Professional PC - DISK - READ SECTOR(S) INTO MEMORY
  31.     AH = 02h
  32.     AL = number of sectors to read (must be nonzero)
  33.     CH = low eight bits of cylinder number
  34.     CL = sector number 1-63 (bits 0-5)
  35.          high two bits of cylinder (bits 6-7, hard disk only)
  36.     DH = head number
  37.     DL = drive number (bit 7 set for hard disk)
  38.     ES:BX -> data buffer
  39. Return: CF set on error
  40.         if AH = 11h (corrected ECC error), AL = burst length
  41.     CF clear if successful
  42.     AH = status (see #0141 at INT 13/AH=01h)
  43.     AL = number of sectors transferred
  44.     ES:BX -> buffer for last sector processed (including one with errors)
  45. SeeAlso: AH=00h,AH=01h,AH=03h,AH=04h,INT 13/AH=02h
  46. --------B-4D03-------------------------------
  47. INT 4D - TI Professional PC - DISK - WRITE SECTOR(S) FROM MEMORY
  48.     AH = 03h
  49.     AL = number of sectors to write (must be nonzero)
  50.     CH = low eight bits of cylinder number
  51.     CL = sector number 1-63 (bits 0-5)
  52.          high two bits of cylinder (bits 6-7, hard disk only)
  53.     DH = head number
  54.     DL = drive number (bit 7 set for hard disk)
  55.     ES:BX -> buffer containing data
  56. Return: CF set on error
  57.         if AH = 11h (corrected ECC error), AL = burst length
  58.     CF clear if successful
  59.     AH = status (see #0141 at INT 13/AH=01h)
  60.     AL = number of sectors transferred
  61.     ES:BX -> buffer for last sector processed (including one with errors)
  62. SeeAlso: AH=00h,AH=01h,AH=02h,AH=04h,INT 13/AH=03h
  63. --------B-4D04-------------------------------
  64. INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR CRC(S)
  65.     AH = 04h
  66.     AL = number of sectors to verify (must be nonzero)
  67.     CH = low eight bits of cylinder number
  68.     CL = sector number 1-63 (bits 0-5)
  69.          high two bits of cylinder (bits 6-7, hard disk only)
  70.     DH = head number
  71.     DL = drive number (bit 7 set for hard disk)
  72.     ES:BX -> data buffer
  73. Return: CF set on error
  74.         if AH = 11h (corrected ECC error), AL = burst length
  75.     CF clear if successful
  76.     AH = status (see #0141 at INT 13/AH=01h)
  77.     AL = number of sectors transferred
  78.     ES:BX -> buffer for last sector processed (including one with errors)
  79. Note:    even though no data is transferred, ES:BX must still be valid
  80. SeeAlso: AH=00h,AH=01h,AH=02h,AH=06h,INT 13/AH=04h
  81. --------B-4D06-------------------------------
  82. INT 4D - TI Professional PC - DISK - VERIFY DISK SECTOR(S)
  83.     AH = 06h
  84.     AL = number of sectors to verify (must be nonzero)
  85.     CH = low eight bits of cylinder number
  86.     CL = sector number 1-63 (bits 0-5)
  87.          high two bits of cylinder (bits 6-7, hard disk only)
  88.     DH = head number
  89.     DL = drive number (bit 7 set for hard disk)
  90.     ES:BX -> data buffer
  91. Return: CF set on error
  92.         if AH = 11h (corrected ECC error), AL = burst length
  93.     CF clear if successful
  94.     AH = status (see #0141 at INT 13/AH=01h)
  95.     AL = number of sectors transferred
  96.     ES:BX -> buffer for last sector processed (including one with errors)
  97. Note:    even though no data is transferred, ES:BX must still be valid because
  98.       an actual comparison with disk data is performed, not just the CRC
  99.       check of the standard PC BIOS or INT 4D/AH=04h
  100. SeeAlso: AH=00h,AH=01h,AH=02h,AH=04h,INT 13/AH=04h
  101. --------B-4D07-------------------------------
  102. INT 4D - TI Professional PC - DISK - GET RETRY STATUS OF LAST OPERATION
  103.     AH = 07h
  104.     DL = drive (bit 7 set for hard disk)
  105. Return: CF clear if status unchanged
  106.     CF set if status changed since last call
  107.     AH = 00h
  108.     AL = status of previous operation (see #0141 at INT 13/AH=01h)
  109. Notes:    this function is nearly the same as INT 13/AH=01h on a standard PC BIOS
  110.     the TI's BIOS tranparently performs a number of retries; this function
  111.       returns the error status of a failed operation even if the operation
  112.       succeeded on a retry
  113. SeeAlso: AH=00h,AH=01h,INT 13/AH=01h
  114. --------B-4D08-------------------------------
  115. INT 4D - TI Professional PC - DISK - SET STANDARD DEVICE INTERFACE TABLE
  116.     AH = 08h
  117.     DL = drive number (00h-03h)
  118.     AL = drive type
  119.         00h single-sided 48 tpi (40-track, 8 sectors, 512 bytes/sector)
  120.         01h double-sided 48 tpi (40-track, 8 sectors, 512 bytes/sector)
  121.         02h single-sided 96 tpi (80-track, 8 sectors, 512 bytes/sector)
  122.         03h double-sided 96 tpi (80-track, 8 sectors, 512 bytes/sector)
  123. Return: nothing???
  124. SeeAlso: AH=00h,AH=09h
  125. --------B-4D09-------------------------------
  126. INT 4D - TI Professional PC - DISK - SET DEVICE INTERFACE TABLE ADDRESS
  127.     AH = 09h
  128.     DL = drive number (00h-07h)
  129.     ES:BX -> Device Interface Table (see #2365)
  130. Return: nothing???
  131. SeeAlso: AH=00h,AH=08h,AH=0Ah,INT 1E
  132.  
  133. Format of TI Professional PC Device Interface Table:
  134. Offset    Size    Description    (Table 2365)
  135.  00h    DWORD    -> entry point for disk routine
  136.  04h    WORD    bytes per sector
  137.  06h    BYTE    sectors per track
  138.  07h    BYTE    number of heads
  139.  08h    BYTE    number of cylinders
  140.  09h    BYTE    retry count
  141.  0Ah    BYTE    precompensation start
  142. SeeAlso: #0626 at INT 1E
  143. --------B-4D0A-------------------------------
  144. INT 4D - TI Professional PC - DISK - GET DEVICE INTERFACE TABLE ADDRESS
  145.     AH = 0Ah
  146.     DL = drive number (00h-07h)
  147. Return:    AH = status
  148.     ES:BX -> Device Interface Table (see #2365)
  149. SeeAlso: AH=00h,AH=08h,AH=09h,INT 1E
  150. --------B-4D0B-------------------------------
  151. INT 4D - TI Professional PC - DISK - TURN OFF ALL DRIVES
  152.     AH = 0Bh
  153. Return: AH = 00h
  154. Note:    used for diagnostics or to conserve power
  155. SeeAlso: AH=00h
  156. --------h-4E---------------------------------
  157. INT 4E - Z100 - Slave 8259 - S100 vectored line 6
  158. SeeAlso: INT 4D"Z100",INT 4F"Z100"
  159. --------b-4E---------------------------------
  160. INT 4E - TI Professional PC - TIME-OF-DAY CLOCK DEVICE SERVICE ROUTINE
  161.     no details available
  162. SeeAlso: INT 40"TI Professional",INT 48"TI Professional"
  163. SeeAlso: INT 4A"TI Professional",INT 4F"TI Professional"
  164. --------h-4F---------------------------------
  165. INT 4F - Z100 - Slave 8259 - S100 vectored line 7
  166. SeeAlso: INT 4E"Z100"
  167. --------b-4F---------------------------------
  168. INT 4F - TI Professional PC - SYSTEM CONFIGURATION CALL
  169.     no details available
  170. SeeAlso: INT 40"TI Professional",INT 49"TI Professional"
  171. SeeAlso: INT 4B"TI Professional",INT 4D/AH=00h,INT 4E"TI Professional"
  172. --------d-4F8100-----------------------------
  173. INT 4F - Common Access Method SCSI interface rev 2.3 - SEND CCB TO XPT/SIM
  174.     AX = 8100h
  175.     ES:BX -> CAM Control Block (CCB) (see #2367)
  176. Return: AH = status
  177.         00h successful
  178.         01h invalid CCB address (0000h:0000h)
  179. Note:    the SCSI Interface Module (SIM) may complete the requested function
  180.       and invoke the completion callback function before this call returns
  181. SeeAlso: AX=8200h,INT 2F/AX=7F01h,INT 4B"Common Access Method"
  182.  
  183. (Table 2366)
  184. Values for CAM function code:
  185.  00h    NOP
  186.  01h    execute SCSI I/O
  187.  02h    get device type
  188.  03h    path inquiry
  189.  04h    release SIM queue
  190.  05h    set async callback
  191.  06h    set device type
  192.  07h-0Fh reserved
  193.  10h    abort SCSI command
  194.  11h    reset SCSI bus
  195.  12h    reset SCSI device
  196.  13h    terminate I/O process
  197.  14h-1Fh reserved
  198.  20h    engine inquiry
  199.  21h    execute engine request
  200.  22h-2Fh reserved
  201.  30h    enable logical unit number
  202.  31h    execute target I/O
  203.  32h-7Fh reserved
  204.  80h-FFh vendor-specific functions
  205.  
  206. Format of CAM Control Block:
  207. Offset    Size    Description    (Table 2367)
  208.  00h    DWORD    physical address of this CCB
  209.  04h    WORD    CAM control block length
  210.  06h    BYTE    function code (see #2366)
  211.  07h    BYTE    CAM status (see #2370)
  212.  08h    BYTE    SCSI status
  213.  09h    BYTE    path ID (FFh = XPT)
  214.  0Ah    BYTE    target ID
  215.  0Bh    BYTE    logical unit number
  216.  0Ch    WORD    CAM flags (see #2368)
  217.  0Eh    BYTE    CAM address flags (see #2369)
  218.  0Fh    BYTE    target-mode flags (see #2371)
  219. ---function 02h---
  220.  10h    DWORD    pointer to 36-byte buffer for inquiry data or 0000h:0000h
  221.  14h    BYTE    peripheral device type of target logical unit number
  222. ---function 03h---
  223.  10h    BYTE    version number (00h-07h prior to rev 1.7, 08h = rev 1.7,
  224.         09h-FFh = rev no, i.e. 23h = rev 2.3)
  225.  11h    BYTE    SCSI capabilities (see #2372)
  226.  12h    BYTE    target mode support
  227.         bit 7: processor mode
  228.         bit 6: phase-cognizant mode
  229.         bit 5-0: reserved
  230.  13h    BYTE    miscellaneous flags
  231.         bit 7: scanned high to low instead of low to high
  232.         bit 6: removables not included in scan
  233.         bit 5: inquiry data not kept by XPT
  234.         bits 4-0: reserved
  235.  14h    WORD    engine count
  236.  16h 14 BYTEs    vendor-specific data
  237.  24h    DWORD    size of private data area
  238.  28h    DWORD    asynchronous event capabilities (see #2373)
  239.  2Ch    BYTE    highest path ID assigned
  240.  2Dh    BYTE    SCSI device ID of initiator
  241.  2Eh  2 BYTEs    reserved
  242.  30h 16 BYTEs    SIM vendor ID
  243.  40h 16 BYTEs    HBA (host bus adaptor) vendor ID
  244.  50h  4 BYTEs    operating-system dependant usage
  245. ---functions 00h,04h,11h,12h---
  246.  no additional fields
  247. ---function 05h---
  248.  10h    DWORD    asynchronous event enables (see function 03h above)
  249.  14h    DWORD    pointer to asynchronous callback routine (see #2375)
  250.  18h    DWORD    pointer to peripheral driver buffer
  251.  1Ch    BYTE    size of peripheral buffer
  252. ---function 06h---
  253.  10h    BYTE    peripheral device type of target
  254. ---functions 10h,13h---
  255.  10h    DWORD    pointer to CCB to be aborted
  256. ---function 20h---
  257.  10h    WORD    engine number
  258.  12h    BYTE    engine type
  259.         00h buffer memory
  260.         01h lossless compression
  261.         02h lossy compression
  262.         03h encryption
  263.  13h    BYTE    engine algorithm ID
  264.         00h vendor-unique
  265.         01h LZ1 variation 1 (STAC)
  266.         02h LZ2 variation 1 (HP DCZL)
  267.         03h LZ2 variation 2 (Infochip)
  268.  14h    DWORD    engine memory size
  269. ---function 21h---
  270.  10h    DWORD    pointer to peripheral driver
  271.  14h  4 BYTEs    reserved
  272.  18h    DWORD    OS-dependent request-mapping info
  273.  1Ch    DWORD    address of completion callback routine
  274.  20h    DWORD    pointer to scatter/gather list or data buffer
  275.  24h    DWORD    length of data transfer
  276.  28h    DWORD    pointer to engine buffer data
  277.  2Ch  2 BYTEs    reserved
  278.  2Eh    WORD    number of scatter/gather entries
  279.  30h    DWORD    maximum destination data length
  280.  34h    DWORD    length of destination data
  281.  38h    DWORD    source residual length
  282.  3Ch 12 BYTEs    reserved
  283.  48h    DWORD    OS-dependent timeout value
  284.  4Ch  4 BYTEs    reserved
  285.  50h    WORD    engine number
  286.  52h    WORD    vendor-unique flags
  287.  54h  4 BYTEs    reserved
  288.  58h  N BYTEs    private data area for SIM
  289. ---function 30h---
  290.  10h    WORD    group 6 vendor-unique CDB length
  291.  12h    WORD    group 7 vendor-unique CDB length
  292.  14h    DWORD    pointer to target CCB list
  293.  18h    WORD    number of target CCBs
  294. ---other functions---
  295.  10h    DWORD    pointer to peripheral driver
  296.  14h    DWORD    pointer to next CCB
  297.  18h    DWORD    OS-dependent request mapping information
  298.  1Ch    DWORD    address of completion callback routine (see #2374)
  299.  20h    DWORD    pointer to scatter/gather list or data buffer
  300.  24h    DWORD    length of data transfer
  301.  28h    DWORD    pointer to sense info buffer
  302.  2Ch    BYTE    length of sense info buffer
  303.  2Dh    BYTE    CDB length
  304.  2Eh    WORD    number of scatter/gather entries
  305.  30h  4 BYTEs    reserved
  306.  34h    BYTE    SCSI status
  307.  35h  3 BYTEs    reserved
  308.  38h    DWORD    residual length
  309.  40h 12 BYTEs    Command Descriptor Block (CDB)
  310.  44h    DWORD    OS-dependent timeout value
  311.  48h    DWORD    pointer to message buffer
  312.  4Ch    WORD    length of message buffer
  313.  4Eh    WORD    vendor-unique flags
  314.  50h    BYTE    tag queue action
  315.  51h  3 BYTEs    reserved
  316.  54h  N BYTEs    private data area for SIM
  317.  
  318. Bitfields for CAM flags:
  319. Bit(s)    Description    (Table 2368)
  320.  0    CDB is a pointer
  321.  1    tagged queue action enable
  322.  2    linked CDB
  323.  3    disable callback on completion
  324.  4    scatter/gather
  325.  5    disable autosense
  326.  7-6    direction (00 reserved, 01 in, 10 out, 11 no data transfer)
  327.  9-8    reserved
  328.  10    engine synchronize
  329.  11    SIM queue freeze
  330.  12    SIM queue priority
  331.     1 head insertion
  332.     0 tail insertion (normal)
  333.  13    disable synchronous transfers    / exclusive
  334.  14    initiate synchronous transfers    \ mutually
  335.  15    disable disconnect
  336.  
  337. Bitfields for CAM address flags:
  338. Bit(s)    Description    (Table 2369)
  339.  7    SG list/data (0 = host, 1 = engine)
  340.  6    CDB pointer    (6-1: 0=virtual addr, 1=phys addr)
  341.  5    SG list/data
  342.  4    sense buffer
  343.  3    message buffer
  344.  2    next CCB
  345.  1    callback on completion
  346.  0    reserved
  347.  
  348. (Table 2370)
  349. Values for CAM status:
  350.  00h    request in progress
  351.  01h    request successful
  352.  02h    host aborted request
  353.  03h    unable to abort request
  354.  04h    request completed with error
  355.  05h    CAM is busy
  356.  06h    invalid request
  357.  07h    invalid path ID
  358.  08h    no such SCSI device
  359.  09h    unable to terminate I/O process
  360.  0Ah    timeout on target selection
  361.  0Bh    timeout on command
  362.  0Dh    receive message rejection
  363.  0Eh    sent/received SCSI bus reset
  364.  0Fh    detected uncorrectable parity error
  365.  10h    Autosense request failed
  366.  11h    no HBA detected
  367.  12h    data over/underrun
  368.  13h    bus freed unexpectedly
  369.  14h    target bus phase sequence failure
  370.  15h    CCB too small
  371.  16h    requested capability not available
  372.  17h    sent bus device reset
  373.  18h    terminate I/O process
  374.  38h    invalid LUN
  375.  39h    invalid target ID
  376.  3Ah    unimplemented function
  377.  3Bh    nexus not established
  378.  3Ch    invalid initiator ID
  379.  3Dh    received SCSI Command Descriptor Block
  380.  3Eh    LUN already enabled
  381.  3Fh    SCSI bus busy
  382. Note:    bit 6 set to indicate frozen SIM queue
  383.     bit 7 set to indicate valid autosense
  384.  
  385. Bitfields for CAM target-mode flags:
  386. Bit(s)    Description    (Table 2371)
  387.  7    data buffer valid
  388.  6    status valid
  389.  5    message buffer valid
  390.  4    reserved
  391.  3    phase-cognizant mode
  392.  2    target CCB available
  393.  1    disable autodisconnect
  394.  0    disable autosave/restore
  395.  
  396. Bitfields for SCSI capabilities:
  397. Bit(s)    Description    (Table 2372)
  398.  7    modify data pointers
  399.  6    wide bus (32 bits)
  400.  5    wide bus (16 bits)
  401.  4    synchronous transfers
  402.  3    linked commands
  403.  2    reserved
  404.  1    tagged queueing
  405.  0    soft reset
  406.  
  407. Bitfields for CAM asynchronous event capabilities:
  408. Bit(s)    Description    (Table 2373)
  409.  31-24    vendor-specific
  410.  23-8    reserved
  411.  7    new devices found during rescan
  412.  6    SIM module deregistered
  413.  5    SIM module registered
  414.  4    sent bus device reset to target
  415.  3    SCSI AEN
  416.  2    reserved
  417.  1    unsolicited reselection
  418.  0    unsolicited SCSI bus reset
  419.  
  420. (Table 2374)
  421. Values completion callback function is called with:
  422.     interrupts disabled
  423.     ES:BX -> completed CCB
  424.  
  425. (Table 2375)
  426. Values asynchronous callback function is called with:
  427.     AH = opcode
  428.     AL = path ID generating callback
  429.     DH = target ID causing event
  430.     DL = LUN causing event
  431.     CX = data byte count (if applicable)
  432.     ES:BX -> data buffer (if applicable)
  433. Return: all registers preserved
  434. --------d-4F8200CX8765-----------------------
  435. INT 4F - Common Access Method SCSI interface rev 2.3 - INSTALLATION CHECK
  436.     AX = 8200h
  437.     CX = 8765h
  438.     DX = CBA9h
  439. Return: AH = 00h if installed
  440.         CX = 9ABCh
  441.         DX = 5678h
  442.         ES:DI -> "SCSI_CAM"
  443. SeeAlso: AX=8100h,INT 4B"Common Access Method"
  444. --------N-50---------------------------------
  445. INT 50 - TIL Xpert AIM (X.25)
  446.     AH = function
  447. --------H-50---------------------------------
  448. INT 50 - IRQ0 relocated by DESQview
  449. Range:    INT 50 to INT F8, selected automatically
  450. Notes:    this is the default location for older versions; DESQview v2.26+
  451.       searches for unused ranges of interrupts and uses the lowest
  452.       available range in its list for relocating these IRQs and the next
  453.       lowest for relocating IRQ8-IRQ15
  454.     a range of eight interrupts starting at a multiple of 8 is considered
  455.       available if all vectors are identical and it has not been excluded
  456.       with an /XB:nn commandline switch
  457.     the list of ranges for v2.26 is 50h,58h,68h,78h,F8h (if < two of these
  458.       are available, F8h and then 50h are used anyway)
  459.     the list of ranges for v2.31+ is 68h,78h,88h-B8h,F8h (if < two of these
  460.       are available, F8h and then F0h are used anyway)
  461. SeeAlso: INT 08"IRQ0",INT 51"DESQview",INT 54"DESQview",INT 58"DESQview"
  462. SeeAlso: INT D8"Screen Thief"
  463. --------H-50---------------------------------
  464. INT 50 - IRQ0 relocated by IBM 3278 emulation control program
  465. SeeAlso: INT 51"IBM 3278"
  466. --------H-50---------------------------------
  467. INT 50 - IRQ0 relocated by OS/2 v1.x
  468. SeeAlso: INT 51"OS/2"
  469. ----------50---------------------------------
  470. INT 50 - TI Professional PC - FATAL SOFTWARE ERROR TRAP
  471.     no details available
  472. Note:    for system use only
  473. SeeAlso: INT 40"TI Professional",INT 4F"TI Professional"
  474. SeeAlso: INT 51"TI Professional",INT 53"TI Professional"
  475. --------V-500000-----------------------------
  476. INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - OPEN TEXT WINDOW
  477.     AX = 0000h
  478.     ES:BX -> name string or ES:0000h if none
  479.     CH,CL = row,column of upper left corner
  480.     DH,DL = row,column of lower right corner
  481. Return: AX = window handle or
  482.         0000h if not installed
  483.         FFFFh on error
  484. SeeAlso: AX=0001h,AX=0002h"TEXT WINDOWS"
  485. --------V-500001-----------------------------
  486. INT 50 - Vanderaart TEXT WINDOWS, PC Thuis Shell - CLOSE TEXT WINDOW
  487.     AX = 0001h
  488.     DI = window handle
  489. SeeAlso: AX=0000h
  490. --------V-500002-----------------------------
  491. INT 50 - Vanderaart TEXT WINDOWS - PUT CHARACTER IN WINDOW
  492.     AX = 0002h
  493.     BL = character
  494.     BH = attribute
  495.     DL = column
  496.     DH = row
  497.     DI = window handle
  498. Return: AX = status
  499.         0000h if successful
  500.         FFFFh if outside window
  501. SeeAlso: AX=0000h
  502. --------l-500002-----------------------------
  503. INT 50 - PC Thuis Organizer Shell - PLOT TEXT
  504.     AX = 0002h
  505.     ES:BX -> text string
  506.     DH,DL = row,column of upper left corner
  507.     DI = window handle
  508. Return: AX = status
  509.         0000h successful (text fits in window)
  510.         FFFFh error
  511. Program: The PC Thuis Organizer Shell was written by John Vanderaart and
  512.       published in the June/July 1990 issue of PC Thuis Power magazine
  513. --------V-500003-----------------------------
  514. INT 50 - Vanderaart TEXT WINDOWS - OUTPUT LINE TO WINDOW
  515.     AX = 0003h
  516.     ES:BX -> text string
  517.     CX = string length (0000h if ASCIZ string)
  518.     DL = position (FFh centered, else flush left)
  519.     DH = starting row
  520.     DI = window handle
  521. Return: AX = status
  522.         0000h successful
  523.         FFFFh did not fit in window
  524. --------l-500003-----------------------------
  525. INT 50 - PC Thuis Organizer Shell - WRITE FILE
  526.     AX = 0003h
  527.     ES:BX -> data to be written
  528.     CX = number of bytes to write
  529.     DS:SI -> filename
  530. Return: AX = status
  531.         0000h successful
  532.         FFFFh error
  533. SeeAlso: AX=0004h"Shell"
  534. --------V-500004-----------------------------
  535. INT 50 - Vanderaart TEXT WINDOWS - GET KEY
  536.     AX = 0004h
  537.     CH = type
  538.         00h any key
  539.         01h 'J' or 'N' (Dutch for yes/no)
  540. Return: AX = key
  541. SeeAlso: INT 16/AH=00h
  542. --------l-500004-----------------------------
  543. INT 50 - PC Thuis Organizer Shell - READ FILE
  544.     AX = 0004h
  545.     ES:BX -> buffer for data
  546.     CX = number of bytes to read or 0000h for entire file
  547.     DL = file type
  548.         01h setting shell
  549.         02h setting sterm
  550.         03h INT21 file
  551.     DS:SI -> filename
  552. Return: AX = status
  553.         0000h successful
  554.         FFFFh error
  555. Note:    file type numbers are maintained by John Vanderaart; if a new file type
  556.       is needed, a type number should be requested from him through the
  557.       magazine:
  558.         PC Thuis BV
  559.         Spaarne 55
  560.         2011 CE HAARLEM
  561.         The Netherlands
  562. SeeAlso: AX=0003h"Shell"
  563. --------V-500005-----------------------------
  564. INT 50 - Vanderaart TEXT WINDOWS - CHANGE ATTRIBUTE
  565.     AX = 0005h
  566.     BL = new attribute
  567.     CH,CL = row,column of upper left corner
  568.     DH,DL = row,column of lower right corner
  569.     DI = window handle
  570. --------l-500005-----------------------------
  571. INT 50 - PC Thuis Organizer Shell - PROMPT YES/NO
  572.     AX = 0005h
  573.     ES:BX -> prompt string (ES:0000h if no prompt)
  574. Return: AX = key pressed
  575.         0000h "J" (Dutch "Ja" = "Yes")
  576.         FFFFh "N" (Dutch "Nee" = "No")
  577. Program: The PC Thuis Organizer Shell was written by John Vanderaart and
  578.       published in the June/July 1990 issue of PC Thuis Power magazine
  579. SeeAlso: AX=0008h"PC Thuis"
  580. --------V-500006-----------------------------
  581. INT 50 - Vanderaart TEXT WINDOWS - EDIT LINE IN WINDOW
  582.     AX = 0006h
  583.     ES:BX -> text string
  584.     CH = type of input (see #2376)
  585.     DH,DL = row,column of upper left corner
  586.     DI = window handle
  587. Return: AX = key which terminated entry
  588.         0000h Enter
  589.         0001h Esc
  590.         0002h Down arrow
  591.         0003h Up arrow
  592.         0004h F10
  593.  
  594. (Table 2376)
  595. Values for type of input to Vanderaart Text Windows:
  596.  00h    everything
  597.  01h    uppercase only
  598.  02h    positive numbers
  599.  03h    Dutch postal code ("9999 AA")
  600.  04h    'J' or 'N' (Dutch yes/no)
  601.  05h    telephone or FAX number
  602.  06h    positive or negative number
  603.  07h    date (dd/mm/yy)
  604.  08h    money
  605.  09h    '1' through '8'
  606.  0Ah    '1' through '4'
  607.  0Bh    uppercase filenames
  608. --------l-500006-----------------------------
  609. INT 50 - PC Thuis Organizer Shell - ALERT USER
  610.     AX = 0006h
  611.     ES:BX -> string
  612. --------l-500007-----------------------------
  613. INT 50 - PC Thuis Organizer Shell - DO LINE
  614.     AX = 0007h
  615.     ES:BX -> text string
  616.     CX = string length in bytes (0000h if NUL-terminated)
  617.     DL = FFh to center string, else flush left
  618.     DH = upper left row
  619.     DI = window handle
  620. Return: AX = status
  621.         0000h successful
  622.         FFFFh error
  623. Program: The PC Thuis Organizer Shell was written by John Vanderaart and
  624.       published in the June/July 1990 issue of PC Thuis Power magazine
  625. SeeAlso: AX=0008h
  626. --------l-500008-----------------------------
  627. INT 50 - PC Thuis Organizer Shell - DO MENU
  628.     AX = 0008h
  629.     ES:BX -> menu structure
  630. Return: AL = index 1 or FFh if not selected
  631.     AH = index 2 or FFh if not selected
  632.     BL = index 3 or FFh if not selected
  633.     BH = index 4 or FFh if not selected
  634. SeeAlso: AX=0005h"PC Thuis",AX=0007h,AX=000Ch
  635. --------l-500009-----------------------------
  636. INT 50 - PC Thuis Organizer Shell - MESSAGE ON
  637.     AX = 0009h
  638.     ES:BX -> message string
  639. SeeAlso: AX=000Ah
  640. --------l-50000A-----------------------------
  641. INT 50 - PC Thuis Organizer Shell - MESSAGE OFF
  642.     AX = 000Ah
  643. SeeAlso: AX=0009h
  644. --------l-50000B-----------------------------
  645. INT 50 - PC Thuis Organizer Shell - CHANGE ATTRIBUTE
  646.     AX = 000Bh
  647.     BL = new attribute
  648.     CH,CL = row,column of upper left corner
  649.     DH,DL = row,column of lower right corner
  650.     DI = window handle
  651. --------l-50000C-----------------------------
  652. INT 50 - PC Thuis Organizer Shell - DO REQUEST
  653.     AX = 000Ch
  654.     ES:BX -> request structure
  655. Return: AX = status
  656.         0000h confirmed
  657.         FFFFh denied
  658. SeeAlso: AX=0008h
  659. --------l-50000D-----------------------------
  660. INT 50 - PC Thuis Organizer Shell - EDIT LINE
  661.     AX = 000Dh
  662.     ES:BX -> text string
  663.     CL = length
  664.     CH = input type (see #2377)
  665.     DH,DL = row,column of upper left corner
  666.     DI = window handle
  667. Return: AX = result code
  668. Program: The PC Thuis Organizer Shell was written by John Vanderaart and
  669.       published in the June/July 1990 issue of PC Thuis Power magazine
  670.  
  671. Bitfields for input type:
  672. Bit(s)    Description    (Table 2377)
  673.  0    force uppercase
  674.  1    integer
  675.  2    no spaces allowed
  676.  3    no cursor keys
  677. --------l-50000E-----------------------------
  678. INT 50 - PC Thuis Organizer Shell - PLOT CHARACTER
  679.     AX = 000Eh
  680.     BL = character
  681.     BH = attribute
  682.     DH,DL = row,column at which to plot
  683.     DI = window handle
  684. Return: AX = status
  685.         0000h successful
  686.         FFFFh errror
  687. --------l-50000F-----------------------------
  688. INT 50 - PC Thuis Organizer Shell - EMPTY WINDOW
  689.     AX = 000Fh
  690.     BL = character
  691.     BH = attribute
  692.     DI = window handle
  693. --------l-500010-----------------------------
  694. INT 50 - PC Thuis Organizer Shell - TRACE MENU
  695.     AX = 0010h
  696.     ES:BX -> first menu structure
  697.     CL = hotkey to look up
  698. Return: AL = index 1 or FFh if not selected
  699.     AH = index 2 or FFh if not selected
  700.     BL = index 3 or FFh if not selected
  701.     BH = index 4 or FFh if not selected
  702. Index:    hotkeys;PC Thuis Organizer Shell
  703. --------l-500011-----------------------------
  704. INT 50 - PC Thuis Organizer Shell - MOVE MEMORY
  705.     AX = 0011h
  706.     DS:SI -> source
  707.     ES:DI -> destination
  708.     CX = number of bytes to move (0000h = until NUL string terminator???)
  709. SeeAlso: AX=0012h
  710. --------l-500012-----------------------------
  711. INT 50 - PC Thuis Organizer Shell - COMPARE MEMORY
  712.     AX = 0012h
  713.     DS:SI -> source
  714.     ES:DI -> destination
  715.     CX = number of bytes to compare (0000h=until NUL string terminator???)
  716. Return: AX = status
  717.         0000h same
  718.         FFFFh different
  719. SeeAlso: AX=0011h
  720. --------l-500013-----------------------------
  721. INT 50 - PC Thuis Organizer Shell - GET KEY
  722.     AX = 0013h
  723.     CH = type flags
  724.         bit 0: force uppercase
  725.         bit 1: integer
  726.         bit 2: no spaces
  727. Return: AX = keystroke
  728. --------l-500014-----------------------------
  729. INT 50 - PC Thuis Organizer Shell - SCROLL WINDOW
  730.     AX = 0014h
  731.     BL = direction
  732.         06h up
  733.         07h down
  734.     BH = attribute
  735.     DI = window handle
  736. SeeAlso: INT 10/AH=06h,INT 10/AH=07h
  737. --------l-500015-----------------------------
  738. INT 50 - PC Thuis Organizer Shell - GET MEMORY HANDLE
  739.     AX = 0015h
  740.     BL = handle size
  741.         00h 65536 bytes (64K)
  742.         01h 65535 bytes (64K-1)
  743.         02h 32768 bytes (32K)
  744.         03h 32767 bytes (32K-1)
  745. Return: AX = segment
  746. Program: The PC Thuis Organizer Shell was written by John Vanderaart and
  747.       published in the June/July 1990 issue of PC Thuis Power magazine
  748. SeeAlso: INT 21/AH=48h
  749. --------H-51---------------------------------
  750. INT 51 - IRQ1 relocated by DESQview
  751. Range:    INT 51 to INT F9, selected automatically
  752. Note:    this is the default location for older versions; see INT 50"DESQview"
  753.       for details of interrupt relocation
  754. SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
  755. --------H-51---------------------------------
  756. INT 51 - IRQ1 relocated by IBM 3278 emulation control program
  757. SeeAlso: INT 50"IBM 3278",INT 54"IBM 3278"
  758. --------H-51---------------------------------
  759. INT 51 - IRQ1 relocated by OS/2 v1.x
  760. SeeAlso: INT 50"OS/2",INT 54"OS/2"
  761. ----------51---------------------------------
  762. INT 51 - TI Professional PC - RESTART TIMING EVENT
  763.     no details available
  764. Note:    for system use only
  765. SeeAlso: INT 50"TI Professional",INT 52"TI Professional"
  766. --------H-52---------------------------------
  767. INT 52 - IRQ2 relocated by DESQview
  768. Range:    INT 52 to INT FA, selected automatically
  769. Note:    this is the default location for older versions; see INT 50"DESQview"
  770.       for details of interrupt relocation
  771. SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
  772. --------H-52---------------------------------
  773. INT 52 - IRQ2 relocated by IBM 3278 emulation control program, OS/2 v1.x
  774. SeeAlso: INT 50"IBM 3278",INT 51"OS/2"
  775. ----------52---------------------------------
  776. INT 52 - TI Professional PC - CANCEL TIMING EVENT
  777.     no details available
  778. Note:    for system use only
  779. SeeAlso: INT 51"TI Professional",INT 53"TI Professional"
  780. --------H-53---------------------------------
  781. INT 53 - IRQ3 relocated by DESQview
  782. Range:    INT 53 to INT FB, selected automatically
  783. Note:    this is the default location for older versions; see INT 50"DESQview"
  784.       for details of interrupt relocation
  785. SeeAlso: INT 50"DESQview",INT 54"DESQview",INT 58"DESQview"
  786. --------H-53---------------------------------
  787. INT 53 - IRQ3 relocated by IBM 3278 emulation control program, OS/2 v1.x
  788. SeeAlso: INT 50"IBM 3278",INT 51"OS/2"
  789. ----------53---------------------------------
  790. INT 53 - TI Professional PC - SVC INTERFACE
  791.     no details available
  792. Note:    for use by multitaskers
  793. SeeAlso: INT 50"TI Professional",INT 54"TI Professional"
  794. --------N-53---------------------------------
  795. INT 53 - WEB??? - API
  796.     BX = function
  797.         0000h ???
  798.         AX = ???
  799.         Return: AX = ???
  800.         0004h ???
  801.         0009h ???
  802.         0015h
  803.         AX = ???
  804.         DX = ???
  805.         0017h
  806. Return: ???
  807. Notes:    the installation check consists of looking for the signature "WEBCO"
  808.       immediately prior to the interrupt handler
  809.     the above calls are made by Show Partner F/X v3.6 (see INT 10/AH=53h)
  810. Index:    installation check;unknown|installation check;WEBCO
  811. --------H-54---------------------------------
  812. INT 54 - IRQ4 relocated by DESQview
  813. Range:    INT 54 to INT FC, selected automatically
  814. Note:    this is the default location for older versions; see INT 50"DESQview"
  815.       for details of interrupt relocation
  816. SeeAlso: INT 50"DESQview",INT 58"DESQview"
  817. --------H-54---------------------------------
  818. INT 54 - IRQ4 relocated by IBM 3278 emulation control program, OS/2 v1.x
  819. SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
  820. ----------54---------------------------------
  821. INT 54 - TI Professional PC - ACTIVATE TASK SUBROUTINE
  822.     no details available
  823. Note:    for use by multitaskers
  824. SeeAlso: INT 50"TI Professional",INT 53"TI Professional"
  825. --------X-545400-----------------------------
  826. INT 54 U - Toshiba PCMCIA2 - INSTALLATION CHECK
  827.     AX = 5400h
  828. Return: AX = 0054h if installed
  829.         CX:DX -> INT function handler
  830. --------H-55---------------------------------
  831. INT 55 - IRQ5 relocated by DESQview
  832. Range:    INT 55 to INT FD, selected automatically
  833. Note:    this is the default location for older versions; see INT 50"DESQview"
  834.       for details of interrupt relocation
  835. SeeAlso: INT 50"DESQview",INT 58"DESQview"
  836. --------H-55---------------------------------
  837. INT 55 - IRQ5 relocated by IBM 3278 emulation control program, OS/2 v1.x
  838. SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
  839. --------b-55---------------------------------
  840. INT 55 - TI Professional PC - RESERVED FOR FUTURE USE
  841.     no details available
  842. SeeAlso: INT 50"TI Professional",INT 56"TI Professional"
  843. --------H-56---------------------------------
  844. INT 56 - IRQ6 relocated by DESQview
  845. Range:    INT 56 to INT FE, selected automatically
  846. Note:    this is the default location for older versions; see INT 50"DESQview"
  847.       for details of interrupt relocation
  848. SeeAlso: INT 50"DESQview",INT 58"DESQview"
  849. --------H-56---------------------------------
  850. INT 56 - IRQ6 relocated by IBM 3278 emulation control program, OS/2 v1.x
  851. SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
  852. --------b-56---------------------------------
  853. INT 56 - TI Professional PC - RESERVED FOR FUTURE USE
  854.     no details available
  855. SeeAlso: INT 50"TI Professional",INT 55"TI Professional"
  856. --------H-57---------------------------------
  857. INT 57 - IRQ7 relocated by DESQview
  858. Range:    INT 57 to INT FF, selected automatically
  859. Note:    this is the default location for older versions; see INT 50"DESQview"
  860.       for details of interrupt relocation
  861. SeeAlso: INT 50"DESQview",INT 58"DESQview"
  862. --------H-57---------------------------------
  863. INT 57 - IRQ7 relocated by IBM 3278 emulation control program, OS/2 v1.x
  864. SeeAlso: INT 51"IBM 3278",INT 51"OS/2"
  865. --------b-57---------------------------------
  866. INT 57 - TI Professional PC - CRT MAPPING HOOK
  867.     no details available
  868. SeeAlso: INT 49"TI Professional",INT 50"TI Professional"
  869. --------H-58---------------------------------
  870. INT 58 - IRQ8 relocated by DESQview 2.26+
  871. Range:    INT 58 to INT F8, selected automatically
  872. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  873. SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 70
  874. --------H-58---------------------------------
  875. INT 58 - IRQ0 relocated by DoubleDOS
  876. SeeAlso: INT 08
  877. --------b-58---------------------------------
  878. INT 58 - TI Professional PC - SYSTEM TIMER 25ms HOOK
  879.     no details available
  880. SeeAlso: INT 43"TI Professional",INT 4C"TI Professional"
  881. SeeAlso: INT 5A"TI Professional"
  882. --------H-59---------------------------------
  883. INT 59 - IRQ9 relocated by DESQview 2.26+
  884. Range:    INT 59 to INT F9, selected automatically
  885. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  886. SeeAlso: INT 50"DESQview",INT 58"DESQview",INT 5A"DESQview",INT 71
  887. --------H-59---------------------------------
  888. INT 59 - IRQ1 relocated by DoubleDOS
  889. SeeAlso: INT 09
  890. --------b-59---------------------------------
  891. INT 59 - TI Professional PC - COMMON ROM HARDWARE INTERRUPT EXIT VECTOR
  892. Desc:    all hardware interrupts on the TI Pro jump indirectly to the handler
  893.       pointed at by this interrupt vector to finish their handling of
  894.       the hardware interrupt
  895. Notes:    the default handler decrements the interrupt count, restores registers
  896.       (including the stack pointer), sends an EOI to the interrupt
  897.       controller, and finally does an IRET
  898.     can be used by multitaskers which need to get control on a regular
  899.       basis
  900. SeeAlso: INT 40"TI Professional",INT 47"TI Professional"
  901. SeeAlso: INT 53"TI Professional"
  902. --------V-59---------------------------------
  903. INT 59 - GSS Computer Graphics Interface (GSS*CGI)
  904.     DS:DX -> block of 5 array pointers
  905. Return: CF set on error
  906.         AX = error code
  907.     CF clear if successful
  908.         AX = return code
  909. Note:    INT 59 is the means by which GSS*CGI language bindings communicate with
  910.       GSS*CGI device drivers and the GSS*CGI device driver controller.
  911.     also used by the IBM Graphic Development Toolkit
  912. --------H-5A---------------------------------
  913. INT 5A - IRQ10 relocated by DESQview 2.26+
  914. Range:    INT 5A to INT FA, selected automatically
  915. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  916. SeeAlso: INT 50"DESQview",INT 59"DESQview",INT 5B"DESQview",INT 72
  917. --------H-5A---------------------------------
  918. INT 5A - IRQ2 relocated by DoubleDOS
  919. SeeAlso: INT 0A
  920. --------N-5A---------------------------------
  921. INT 5A - PC Cluster adapter BIOS entry address
  922.     ???
  923. Return: ???
  924. SeeAlso: INT 5B"PC Cluster"
  925. --------b-5A---------------------------------
  926. INT 5A - TI Professional PC - SYSTEM TIMER 100ms HOOK
  927.     no details available
  928. Note:    this interrupt is invoked on every fourth timer interrupt
  929. SeeAlso: INT 43"TI Professional",INT 4C"TI Professional"
  930. SeeAlso: INT 58"TI Professional"
  931. --------H-5B---------------------------------
  932. INT 5B - IRQ11 relocated by DESQview 2.26+
  933. Range:    INT 5B to INT FB, selected automatically
  934. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  935. SeeAlso: INT 50"DESQview",INT 5A"DESQview",INT 5C"DESQview",INT 73
  936. --------H-5B---------------------------------
  937. INT 5B - IRQ3 relocated by DoubleDOS
  938. SeeAlso: INT 0B
  939. --------N-5B---------------------------------
  940. INT 5B - PC cluster adapter - RELOCATED INT 19
  941. SeeAlso: INT 19,INT 5A"PC Cluster"
  942. --------N-5B---------------------------------
  943. INT 5B - AT&T Starlan Extended NetBIOS (variable length names)
  944.     ES:BX -> Network Control Block (see #2378)
  945. Return: AL = status (see #2380)
  946. SeeAlso: INT 5C
  947.  
  948. Format of Starlan Network Control Block:
  949. Offset    Size    Description    (Table 2378)
  950.  00h    BYTE    ncb_command (see also #2382)
  951.         70h send net Break
  952.  01h    BYTE    ncb_retcode
  953.  02h    BYTE    ncb_lsn
  954.  03h    BYTE    ncb_num
  955.  04h    DWORD    -> ncb_buffer
  956.  08h    WORD    ncb_length
  957.  0Ah 16 BYTEs    ncb_callname
  958.  1Ah 16 BYTEs    ncb_name
  959.  2Ah    BYTE    ncb_rto
  960.  2Bh    BYTE    ncb_sto
  961.  2Ch    DWORD    -> ncb_post    /* int (far *ncb_post)(); */
  962.  30h    BYTE    ncb_lana_num
  963.  31h    BYTE    ncb_cmd_cplt
  964.  32h    DWORD    -> ncb_vname
  965.  36h    BYTE    ncb_vnamelen
  966.  37h  9 BYTEs    ncb_reserve
  967. Note:    fields 00h-31h are the same as for a standard NetBIOS NCB (see #2381)
  968. --------N-5B---------------------------------
  969. INT 5B - Microsoft Network Transport Layer Interface
  970. Note:    used by MS-NET for executing network commands
  971. SeeAlso: INT 5C"NetBIOS"
  972. --------N-5B---------------------------------
  973. INT 5B - used by Alloy NTNX
  974. --------N-5B---------------------------------
  975. INT 5B - ISOLAN Multi Protocol Software
  976.     ES:BX -> Transfer Control Block (see #2379)
  977. Return: AL = status
  978. Note:    this software interface allows multiple protocols/software packages
  979.       to access a BICC 411x network card
  980.  
  981. Format of ISOLAN Transfer Control Block:
  982. Offset    Type    Description    (Table 2379)
  983.  00h    BYTE    command code
  984.         B3h Status
  985.         F2h Activate
  986.         F3h Deactivate
  987.         F4h Send Data
  988.  01h    BYTE    command identity
  989.  02h    BYTE    virtual circuit ID
  990.  03h    WORD    buffer length
  991.  05h    DWORD    buffer pointer
  992.  09h    BYTE    expedited data flag
  993.  0Ah    BYTE    cancelable flag
  994.  0Bh 16 BYTEs    local network address
  995.  1Bh 16 BYTEs    remote network address
  996.  2Bh    DWORD    asynchronous notification routine
  997.  30h    DWORD    local network number
  998.  34h    DWORD    remote network number
  999.  38h    BYTE    call timeout
  1000.  39h    BYTE    not used
  1001.  3Ah  8 BYTEs    reserved
  1002.  42h    BYTE    command code extension
  1003.  43h    WORD    Blue Book MAC type
  1004. --------b-5B---------------------------------
  1005. INT 5B - TI Professional PC - KEYBOARD MAPPING HOOK
  1006.     no details available
  1007. Note:    used to remap the keyboard
  1008. SeeAlso: INT 15/AH=4Fh,INT 4A"TI Professional",INT 59"TI Professional"
  1009. SeeAlso: INT 5C"TI Professional",INT 5D"TI Professional"
  1010. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  1011. --------U-5B5254DL04-------------------------
  1012. INT 5B U - SitBack v3.02R - GET ???
  1013.     AX = 5254h
  1014.     DL = 04h
  1015. Return: ES:BX -> ??? in resident portion
  1016. Program: SitBack is a background file backup utility by SitBack Technologies,
  1017.       Inc. which initiates backups whenever the system is idle
  1018. SeeAlso: AX=8485h/DL=71h,AX=8485h/DL=72h
  1019. --------U-5B8485DL70-------------------------
  1020. INT 5B U - SitBack v3.02R - INSTALLATION CHECK
  1021.     AX = 8485h
  1022.     DL = 70h
  1023. Return: CX = 8485h if installed
  1024.         DX:AX -> ??? (configuration data?)
  1025. Program: SitBack is a background file backup utility by SitBack Technologies,
  1026.       Inc. which initiates backups whenever the system is idle
  1027. SeeAlso: AX=5254h/DL=04h,AX=8485h/DL=78h
  1028. --------U-5B8485DL71-------------------------
  1029. INT 5B U - SitBack v3.02R - SET ??? FLAG AND GET ??? ADDRESS
  1030.     AX = 8485h
  1031.     DL = 71h
  1032. Return: ES:BX -> FAR entry point to ???
  1033. Note:    the flag which is modified is located at the address returned by
  1034.        AX=5254h/DL=04h
  1035. SeeAlso: AX=8485h/DL=72h
  1036. --------U-5B8485DL72-------------------------
  1037. INT 5B U - SitBack v3.02R - CLEAR ??? FLAG
  1038.     AX = 8485h
  1039.     DL = 72h
  1040. Note:    the flag which is modified is located at the address returned by
  1041.        AX=5254h/DL=04h
  1042. SeeAlso: AX=8485h/DL=71h
  1043. --------U-5B8485DL73-------------------------
  1044. INT 5B U - SitBack v3.02R - ???
  1045.     AX = 8485h
  1046.     DL = 73h
  1047.     ???
  1048. Return: ???
  1049. --------U-5B8485DL74-------------------------
  1050. INT 5B U - SitBack v3.02R - ???
  1051.     AX = 8485h
  1052.     DL = 74h
  1053.     ???
  1054. Return: ???
  1055. --------U-5B8485DL75-------------------------
  1056. INT 5B U - SitBack v3.02R - ???
  1057.     AX = 8485h
  1058.     DL = 75h
  1059.     CX = ???
  1060. Return: ???
  1061. SeeAlso: AX=8485h/DL=76h
  1062. --------U-5B8485DL76-------------------------
  1063. INT 5B U - SitBack v3.02R - ???
  1064.     AX = 8485h
  1065.     DL = 76h
  1066.     CX = ???
  1067. Return: ???
  1068. Note:    conditionally calls the code for AX=8485h/DL=75h
  1069. SeeAlso: AX=8485h/DL=75h
  1070. --------U-5B8485DL77-------------------------
  1071. INT 5B U - SitBack v3.02R - SET ??? FLAG
  1072.     AX = 8485h
  1073.     DL = 77h
  1074. --------U-5B8485DL78-------------------------
  1075. INT 5B U - SitBack v3.02R - GET RESIDENT DATA SEGMENT
  1076.     AX = 8485h
  1077.     DL = 78h
  1078. Return: CX = 5342h if supported
  1079.         ES = AX = segment of TSR data
  1080. SeeAlso: AX=8485h/DL=70h,AX=8485h/DL=79h
  1081. --------U-5B8485DL79-------------------------
  1082. INT 5B U - SitBack v3.02R - GET DTA
  1083.     AX = 8485h
  1084.     DL = 79h
  1085. Return: CX = 5342h if supported
  1086.         ES:BX -> DTA set by last INT 21/AH=1Ah
  1087. Note:    this function is provided by SBOS.EXE rather than SB.EXE
  1088. SeeAlso: INT 21/AH=1Ah
  1089. --------U-5B8485DL7A-------------------------
  1090. INT 5B U - SitBack v3.02R - TOGGLE ???
  1091.     AX = 8485h
  1092.     DL = 7Ah
  1093. Return: CX = 5342h if supported
  1094.         AL = new value of ??? (00h or 01h)
  1095. --------H-5C---------------------------------
  1096. INT 5C - IRQ12 relocated by DESQview 2.26+
  1097. Range:    INT 5C to INT FC, selected automatically
  1098. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  1099. SeeAlso: INT 50"DESQview",INT 5B"DESQview",INT 5D"DESQview",INT 74
  1100. --------H-5C---------------------------------
  1101. INT 5C - IRQ4 relocated by DoubleDOS
  1102. SeeAlso: INT 0C
  1103. --------N-5C---------------------------------
  1104. INT 5C - NetBIOS INTERFACE
  1105.     ES:BX -> network control block (NCB) (see #2381)
  1106. Return: AL = status (see #2380)
  1107. Program: NetBIOS was developed by Sytek, Inc. in 1984 as a high-level
  1108.       programming interface to the IBM PC Network; the first implementation
  1109.       was a ROM BIOS extension on Sytek's PCnet LAN adapter card, but many
  1110.       current networks support NetBIOS as the session layer.
  1111. Note:    The Sytek PCnet card uses DMA 3.
  1112. SeeAlso: INT 2A/AH=01h,INT 2A/AH=04h,INT 5B
  1113.  
  1114. (Table 2380)
  1115. Values for NetBIOS status:
  1116.  00h    successful
  1117.  01h    bad buffer size
  1118.  03h    invalid NETBIOS command
  1119.  05h    timeout
  1120.  06h    receive buffer too small
  1121.  07h    No-ACK command failed
  1122.  08h    bad session number
  1123.  09h    LAN card out of memory
  1124.  0Ah    session closed
  1125.  0Bh    command has been cancelled
  1126.  0Dh    name already exists
  1127.  0Eh    local name table full
  1128.  0Fh    name still in use, can't delete
  1129.  11h    local session table full
  1130.  12h    remote PC not listening
  1131.  13h    bad NCB_NUM field
  1132.  14h    no answer to CALL or no such remote
  1133.  15h    name not in local name table
  1134.  16h    duplicate name
  1135.  17h    bad delete
  1136.  18h    abnormal end
  1137.  19h    name error, multiple identical names in use
  1138.  1Ah    bad packet
  1139.  21h    network card busy
  1140.  22h    too many commands queued
  1141.  23h    bad LAN card number
  1142.  24h    command finished while cancelling
  1143.  26h    command can't be cancelled
  1144.  30h    name defined by another process (OS/2)
  1145.  34h    NetBIOS environment not defined, must issue reset (OS/2)
  1146.  35h    required operating system resources exhausted (OS/2)
  1147.  36h    maximum applications exceeded (OS/2)
  1148.  37h    no SAPs available for NetBIOS (OS/2)
  1149.  38h    requested resources not available (OS/2)
  1150.  40h    Lana System Error
  1151.  41h    Lana Remote Hot Carrier
  1152.  42h    Lana Local Hot Carrier
  1153.  43h    Lana No Carrier Detected
  1154.  44h    unusual network condition
  1155.  45h-4Dh hardware error
  1156.  4Eh    token ring is broken
  1157.  4Fh    token ring error
  1158.  50h    adapter malfunction
  1159.  F7h    error in explicit INITIALIZE
  1160.  F8h    error in implicit OPEN
  1161.  F9h    TOKREUI internal error
  1162.  FAh    hardware adapter testing
  1163.  FBh    NetBIOS emulator not found
  1164.  FCh    OPEN or OPEN_SAP failure
  1165.  FDh    unexpected adapter closure
  1166.  FFh    NetBIOS busy (command pending)
  1167.  
  1168. Format of NetBIOS Network Control Block:
  1169. Offset    Size    Description    (Table 2381)
  1170.  00h    BYTE    command code (see #2382)
  1171.  01h    BYTE    return code (see #2380)
  1172.  02h    BYTE    local session number (LSN)
  1173.  03h    BYTE    "ncb_num" datagram table entry from ADD NAME
  1174.  04h    DWORD    -> I/O buffer
  1175.  08h    WORD    length of data in buffer
  1176.  0Ah 16 BYTEs    remote system to call
  1177.  1Ah 16 BYTEs    network name of local machine
  1178.  2Ah    BYTE    receive timeout in 1/2 seconds
  1179.  2Bh    BYTE    send timeout in 1/2 seconds
  1180.  2Ch    DWORD    -> FAR post handler    /* int (far *ncb_post)(); */
  1181.  30h    BYTE    network adapter number on which to execute command
  1182.         00h-03h IBM NetBIOS specs
  1183.         F0h-FFh Eicon NABios interface (see also INT 7B"Eicon")
  1184.  31h    BYTE    command completion code (see returned status above)
  1185.  32h 14 BYTEs    reserved for network card
  1186.  
  1187. (Table 2382)
  1188. Values for NetBIOS command code field in NCB:
  1189.  10h    start session with NCB_NAME name (call)
  1190.  11h    listen for call
  1191.  12h    end session with NCB_NAME name (hangup)
  1192.  14h    send data via NCB_LSN
  1193.  15h    receive data from a session
  1194.  16h    receive data from any session
  1195.  17h    send multiple data buffers
  1196.  20h    send unACKed message (datagram)
  1197.  21h    receive datagram
  1198.  22h    send broadcast datagram
  1199.  23h    receive broadcast datagram
  1200.  30h    add name to name table
  1201.  31h    delete name from name table
  1202.  32h    reset adapter card and tables
  1203.  33h    get adapter status (see #2383)
  1204.  34h    status of all sessions for name (see #2385)
  1205.  35h    cancel
  1206.  36h    add group name to name table
  1207.  48h    send data and receive data (LAN Manager NETBEUI.DOS)
  1208.  70h    unlink from IBM remote program (no F0h function)
  1209.  71h    send data without ACK
  1210.  72h    send multiple buffers without ACK
  1211.  72h    UngermannBass Register (conflicts with above function)
  1212.  73h    UngermannBass SendNmc
  1213.  74h    UngermannBass Callniu
  1214.  75h    UngermannBass Calladdr
  1215.  76h    UngermannBass Listenaddr
  1216.  77h    UngermannBass SendPkt
  1217.  78h    find name
  1218.  78h    UngermannBass RcvPkt (conflicts with above function)
  1219.  79h    token-ring protocol trace
  1220.  79h    UngermannBass SendAttn (conflicts with above function)
  1221.  7Ah    UngermannBass RcvAttn
  1222.  7Bh    UngermannBass Listenniu
  1223.  7Ch    UngermannBass RcvRaw
  1224.  7Dh    UngermannBass SendNmc2
  1225.  7Fh    Beame&Whiteside BWNB installation check (returns with return code and
  1226.       completion code both set to 03h, while invalid functions return only
  1227.       return code field set to 03h)
  1228. Note:    OR any of the above except 70h with 80h for non-waiting call
  1229.  
  1230. Format of NetBIOS structure "astatus":
  1231. Offset    Size    Description    (Table 2383)
  1232.  00h  6 BYTEs as_id
  1233.  06h    BYTE  as_jumpers
  1234.  07h    BYTE  as_post
  1235.  08h    BYTE  as_major
  1236.  09h    BYTE  as_minor
  1237.  0Ah    WORD  as_interval
  1238.  0Ch    WORD  as_crcerr
  1239.  0Eh    WORD  as_algerr
  1240.  10h    WORD  as_colerr
  1241.  12h    WORD  as_abterr
  1242.  14h    DWORD as_tcount
  1243.  18h    DWORD as_rcount
  1244.  1Ch    WORD  as_retran
  1245.  1Eh    WORD  as_xresrc
  1246.  20h  8 BYTEs as_res0
  1247.  28h    WORD  as_ncbfree
  1248.  2Ah    WORD  as_ncbmax
  1249.  2Ch    WORD  as_ncbx
  1250.  2Eh  4 BYTEs as_res1
  1251.  32h    WORD  as_sespend
  1252.  34h    WORD  as_msp
  1253.  36h    WORD  as_sesmax
  1254.  38h    WORD  as_bufsize
  1255.  3Ah    WORD  as_names
  1256.  3Ch 16 name structures     as_name (see #2384)
  1257.  
  1258. Format of NetBIOS structure "name":
  1259. Offset    Size    Description    (Table 2384)
  1260.  00h 16 BYTEs "nm_name" symbolic name
  1261.  10h    BYTE  "nm_num" number associated with name
  1262.  11h    BYTE  nm_status
  1263.  
  1264. Format of NetBIOS structure "sstatus":
  1265. Offset    Size    Description    (Table 2385)
  1266.  00h    BYTE    number of sessions being reported
  1267.  01h    BYTE    number of sessions with this name
  1268.  02h    BYTE    number of outstanding receive datagrams
  1269.  03h    BYTE    number of outstanding ReceiveAnys
  1270.  04h    var    session structures (see #2386)
  1271.  
  1272. Format of NetBIOS structure "session":
  1273. Offset    Size    Description    (Table 2386)
  1274.  00h    BYTE    local session number
  1275.  01h    BYTE    state
  1276.         01h listen pending
  1277.         02h call pending
  1278.         03h session established
  1279.         04h hangup pending
  1280.         05h hangup done
  1281.         06h session aborted
  1282.  02h 16 BYTEs    local name
  1283.  12h 16 BYTEs    remote name
  1284.  22h    BYTE    number of outstanding receives
  1285.  23h    BYTE    number of outstanding sends/chainsends
  1286. --------N-5C---------------------------------
  1287. INT 5C - TOPS INTERFACE
  1288.     ES:BX -> Network Control Block
  1289. Note:    TOPS card uses DMA 1, 3 or none.
  1290. --------N-5C---------------------------------
  1291. INT 5C - ATALK.SYS - AppleTalk INTERFACE
  1292.     DX:BX -> control block (see #2388)
  1293. Return: none
  1294. Range:    INT 5Ch to INT 70h
  1295. Notes:    the signature 'AppleTalk' appears 16 bytes prior to the interrupt
  1296.       handler; this serves as the installation check
  1297. Index:    installation check;ATALK.SYS|installation check;AppleTalk interface
  1298.  
  1299. (Table 2387)
  1300. Values for ATALK.SYS command code:
  1301.  01h    "AT_INIT"        initialize the driver
  1302.  02h    "AT_KILL"
  1303.  03h    "AT_GETNETINFO" get current network info incl init status
  1304.  04h    "AT_GETCLOCKTICKS"
  1305.  05h    "AT_STARTTIMER"
  1306.  06h    "AT_RESETTIMER"
  1307.  07h    "AT_CANCELTIMER"
  1308.  10h    "LAP_INSTALL"
  1309.  11h    "LAP_REMOVE"
  1310.  12h    "LAP_WRITE"
  1311.  13h    "LAP_READ"
  1312.  14h    "LAP_CANCEL"
  1313.  20h    "DDP_OPENSOCKET"
  1314.  21h    "DDP_CLOSESOCKET"
  1315.  22h    "DDP_WRITE"
  1316.  23h    "DDP_READ"
  1317.  24h    "DDP_CANCEL"
  1318.  30h    "NBP_REGISTER"
  1319.  31h    "NBP_REMOVE"
  1320.  32h    "NBP_LOOKUP"
  1321.  33h    "NBP_CONFIRM"
  1322.  34h    "NBP_CANCEL"
  1323.  35h    "ZIP_GETZONELIST"
  1324.  36h    "ZIP_GETMYZONE"
  1325.  37h    "ZIP_TAKEDOWN"
  1326.  38h    "ZIP_BRINGUP"
  1327.  40h    "ATP_OPENSOCKET"
  1328.  41h    "ATP_CLOSESOCKET"
  1329.  42h    "ATP_SENDREQUEST"
  1330.  43h    "ATP_GETREQUEST"
  1331.  44h    "ATP_SENDRESPONSE"
  1332.  45h    "ATP_ADDRESPONSE"
  1333.  46h    "ATP_CANCELTRANS"
  1334.  47h    "ATP_CANCELRESPONSE"
  1335.  48h    "ATP_CANCELREQUEST"
  1336.  50h    "ASP_GETPARMS"
  1337.  51h    "ASP_CLOSESESSION"
  1338.  52h    "ASP_CANCEL"
  1339.  53h    "ASP_INIT"
  1340.  54h    "ASP_KILL"
  1341.  55h    "ASP_GETSESSION"
  1342.  56h    "ASP_GETREQUEST"
  1343.  57h    "ASP_CMDREPLY"
  1344.  58h    "ASP_WRTCONTINUE"
  1345.  59h    "ASP_WRTREPLY"
  1346.  5Ah    "ASP_CLOSEREPLY"
  1347.  5Bh    "ASP_NEWSTATUS"
  1348.  5Ch    "ASP_ATTENTION"
  1349.  5Dh    "ASP_GETSTATUS"
  1350.  5Eh    "ASP_OPENSESSION"
  1351.  5Fh    "ASP_COMMAND"
  1352.  60h    "ASP_WRITE"
  1353.  61h    "ASP_GETATTENTION"
  1354.  70h    "PAP_OPEN"
  1355.  71h    "PAP_CLOSE"
  1356.  72h    "PAP_READ"
  1357.  73h    "PAP_WRITE"
  1358.  74h    "PAP_STATUS"
  1359.  75h    "PAP_REGNAME"
  1360.  76h    "PAP_REMNAME"
  1361.  77h    "PAP_INIT"
  1362.  78h    "PAP_NEWSTATUS"
  1363.  79h    "PAP_GETNEXTJOB"
  1364.  7Ah    "PAP_KILL"
  1365.  7Bh    "PAP_CANCEL"
  1366.  
  1367. Format of AppleTalk control block:
  1368. Offset    Size    Description    (Table 2388)
  1369.  00h    WORD    command code (see #2387)
  1370.         OR with the following flags
  1371.         8000h start command then return
  1372.         4000h wait for interrupt service to complete
  1373.  02h    WORD    returned status
  1374.         0000h success (already initialized if func 01h)
  1375.  04h    DWORD    pointer to completion function
  1376.  08h    WORD    network number
  1377.  0Ah    BYTE    node ID
  1378. ---if general func (01h,03h), control block continues:
  1379.  0Bh    BYTE    "inf_abridge"
  1380.  0Ch    WORD    "inf_config"
  1381.  0Eh    DWORD    pointer to buffer
  1382.  12h    WORD    buffer size
  1383. ---if DDP function (20h-24h), control block continues:
  1384.  0Bh    BYTE    "ddp_addr_socket"
  1385.  0Ch    BYTE    "ddp_socket"
  1386.  0Dh    BYTE    "ddp_type"
  1387.  0Eh    DWORD    pointer to buffer
  1388.  12h    WORD    buffer size
  1389.  14h    BYTE    "ddp_chksum"
  1390. ---if Name Binding Protocol (30h-34h), control block continues:
  1391.  0Bh    BYTE    "nbp_addr_socket"
  1392.  0Ch    WORD    "nbp_toget"
  1393.  0Eh    DWORD    pointer to buffer (see #2389)
  1394.  12h    WORD    buffer size
  1395.  14h    BYTE    "nbp_interval"
  1396.  15h    BYTE    "nbp_retry"
  1397.  16h    DWORD    "nbp_entptr"
  1398. ---if AppleTalk Transaction Protocol (42h), control block continues:
  1399.  0Bh    BYTE    "atp_addr_socket"
  1400.  0Ch    WORD    "atp_socket"
  1401.  0Eh    DWORD    pointer to buffer
  1402.  12h    WORD    buffer size
  1403.  14h    BYTE    "atp_interval"
  1404.  15h    BYTE    "atp_retry"
  1405.  16h    BYTE    ATP flags
  1406.         bit 5: exactly one transaction
  1407.  17h    BYTE    "atp_seqbit"
  1408.  18h    BYTE    transaction ID
  1409.  19h  4 BYTEs    ATP user bytes
  1410.  1Dh    BYTE    number of BDS buffers
  1411.  1Eh    BYTE    number of BDS responses
  1412.  1Fh    DWORD    pointer to BDS buffers (see #2390)
  1413.  
  1414. Format of Name Binding Protocol Name-to-Address binding entries for NBP_LOOKUP:
  1415. Offset    Size    Description    (Table 2389)
  1416.  00h    WORD    "tup_address_network"
  1417.  02h    BYTE    "tup_address_notid"
  1418.  03h    BYTE    "tup_address_socket"
  1419.  04h    BYTE    "tup_enum"
  1420.  05h 99 BYTEs    name
  1421.  
  1422. Format of BDS entries:
  1423. Offset    Size    Description    (Table 2390)
  1424.  00h    DWORD    pointer to buffer
  1425.  04h    WORD    size of buffer
  1426.  06h    WORD    BDS data size
  1427.  08h  4 BYTEs    "bds_userbytes"
  1428. --------N-5C---------------------------------
  1429. INT 5C - IBM 802.2 INTERFACE (LLC)
  1430.     ES:BX -> CCB (see #2391)
  1431. Return: none
  1432.  
  1433. Format of IBM 802.2 CCB:
  1434. Offset    Size    Description    (Table 2391)
  1435.  00h    BYTE    adapter
  1436.  01h    BYTE    command code
  1437.  02h    BYTE    return code
  1438.  03h    BYTE    work
  1439.  04h    DWORD    pointer to ???
  1440.  08h    DWORD    pointer to completion function???
  1441.  0Ch    DWORD    pointer to parameters???
  1442. --------b-5C---------------------------------
  1443. INT 5C - TI Professional PC - KEYBOARD PAUSE KEY VECTOR
  1444. Desc:    toggle a pause flag which is checked by the CRT Device Service Routine
  1445.       (see INT 49"TI Professional") and causes it to temporarily halt the
  1446.       machine on the next video-related function (until a key is pressed)
  1447. SeeAlso: INT 09"IRQ1",INT 4A"TI Professional",INT 59"TI Professional"
  1448. SeeAlso: INT 5B"TI Professional",INT 5D"TI Professional"
  1449. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  1450. --------N-5C---------------------------------
  1451. INT 5C - $25 LAN - INSTALLATION CHECK
  1452. Notes:    current versions only check whether the vector is 0000h:0000h or not
  1453.     future versions are supposed to have the signature "NET" in the three
  1454.       bytes preceding the INT 5C handler
  1455. --------N-5C04-------------------------------
  1456. INT 5C - $25 LAN - CHECK IF CONNECTION ALIVE
  1457.     AH = 04h
  1458.     AL = COM port (0 = default)
  1459.     CX = wait count in character times (should be at least 100)
  1460. Return: ZF set if link alive
  1461. --------H-5D---------------------------------
  1462. INT 5D - IRQ13 relocated by DESQview 2.26+
  1463. Range:    INT 5D to INT FD, selected automatically
  1464. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  1465. SeeAlso: INT 50"DESQview",INT 5C"DESQview",INT 5E"DESQview",INT 75
  1466. --------H-5D---------------------------------
  1467. INT 5D - IRQ5 relocated by DoubleDOS
  1468. SeeAlso: INT 0D,INT 5C"DoubleDOS"
  1469. --------b-5D---------------------------------
  1470. INT 5D - TI Professional PC - KEYBOARD BREAK KEY VECTOR
  1471.     no details available
  1472. SeeAlso: INT 09"IRQ1",INT 4A"TI Professional",INT 59"TI Professional"
  1473. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  1474. SeeAlso: INT 5E"TI Professional",INT 5F"TI Professional"
  1475. --------H-5E---------------------------------
  1476. INT 5E - IRQ14 relocated by DESQview 2.26+
  1477. Range:    INT 5E to INT FE, selected automatically
  1478. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  1479. SeeAlso: INT 50"DESQview",INT 5D"DESQview",INT 5F"DESQview",INT 76
  1480. --------H-5E---------------------------------
  1481. INT 5E - IRQ6 relocated by DoubleDOS
  1482. SeeAlso: INT 0E,INT 5D"DoubleDOS"
  1483. --------b-5E---------------------------------
  1484. INT 5E - TI Professional PC - KEYBOARD PRINT-SCREEN VECTOR
  1485. Desc:    dump the screen to the printer
  1486. Notes:    hooked by TI MS-DOS, which provides a PRTSCRN character device which
  1487.       can invoke screen prints when a decimal digit (indicating the type
  1488.       of screen dump) is written to it
  1489.     the TI MS-DOS print-screen routine allows selective dumps of text
  1490.       only, graphics only, or text and graphics superimposed, in either
  1491.       normal or reverse, by pressing the appropriate keystroke combination:
  1492.       Shift-Print, Ctrl-Print, Alt-Print, Shift-Alt-Print, Ctrl-Alt-Print,
  1493.       or Shift-Ctrl-Print.
  1494.     the BIOS default routine for this vector is an IRET
  1495. SeeAlso: INT 05,INT 4A"TI Professional",INT 59"TI Professional"
  1496. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  1497. SeeAlso: INT 5D"TI Professional",INT 5F"TI Professional"
  1498. --------H-5F---------------------------------
  1499. INT 5F - IRQ15 relocated by DESQview 2.26+
  1500. Range:    INT 5F to INT FF, selected automatically
  1501. Note:    this is the default, but other INTs may be used (see INT 50"DESQview")
  1502. SeeAlso: INT 50"DESQview",INT 5E"DESQview",INT 77
  1503. --------H-5F---------------------------------
  1504. INT 5F - IRQ7 relocated by DoubleDOS
  1505. SeeAlso: INT 0F,INT 5E"DoubleDOS"
  1506. --------b-5F---------------------------------
  1507. INT 5F C - TI Professional PC - KEYBOARD QUEUEING VECTOR
  1508. Desc:    hook for multitaskers to be informed when a keypress is placed in the
  1509.       keyboard buffer
  1510. SeeAlso: INT 09,INT 4A"TI Professional",INT 59"TI Professional"
  1511. SeeAlso: INT 5B"TI Professional",INT 5C"TI Professional"
  1512. SeeAlso: INT 5D"TI Professional",INT 5E"TI Professional"
  1513. --------b-5F00-------------------------------
  1514. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET VIDEO MODE
  1515.     AH = 00h
  1516.     AL = video mode
  1517.         03h text,CGA color (100LX/200LX)
  1518.         06h 640x200 CGA graphics (100LX/200LX)
  1519.         07h text, system manager compliant
  1520.         20h 240x128 mono graphics, system manager compliant
  1521.         87h text, not system manager compliant
  1522.         A0h 240x128 mono graphics, not system manager compliant
  1523. Notes:    the defaults after setting the mode to graphics are (0,0) logical
  1524.       origin, full-screen clip region, (0,0) pen location, pen color 1,
  1525.       pixel replacement FORCE, line type and fill mask all bits set
  1526.     modes 03h and 06h can also be set with the standard INT 10/AH=00h
  1527. SeeAlso: INT 0F"HP 95LX",INT 10/AH=00h,INT 15/AX=4DD4h
  1528. --------b-5F01-------------------------------
  1529. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET FILL MASK
  1530.     AH = 01h
  1531.     ES:DI -> 8-byte fill mask
  1532. Note:    the fill mask represents an 8x8 pixel box and is repeated as necessary
  1533.       when drawing filled rectangles; it is always aligned with the byte
  1534.       boundaries of video memory, regardless of the actual boundaries of
  1535.       the rectangle
  1536. SeeAlso: AH=02h
  1537. --------b-5F02-------------------------------
  1538. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET CURRENT GRAPHICS INFO
  1539.     AH = 02h
  1540.     ES:DI -> graphics info record (see #2392)
  1541. Return: DX:AX -> filled graphics info record (for return to high-level langs)
  1542.  
  1543. Format of HP 95LX graphics info record:
  1544. Offset    Size    Description    (Table 2392)
  1545.  00h    BYTE    current video mode
  1546.  01h    BYTE    default video mode
  1547.  02h    WORD    display width in pixels
  1548.  04h    WORD    display height in pixels
  1549.  06h    WORD    current pen column
  1550.  08h    WORD    current pen row
  1551.  0Ah    WORD    current line type
  1552.  0Ch    WORD    current replacement rule
  1553.  0Eh    WORD    current pen color
  1554.  10h    WORD    current leftmost column of clip region
  1555.  12h    WORD    current rightmost column of clip region
  1556.  14h    WORD    current topmost row of clip region
  1557.  16h    WORD    current bottommost row of clip region
  1558.  18h    WORD    current column of logical origin
  1559.  1Ah    WORD    current row of logical origin
  1560.  1Ch  8 BYTEs    current fill mask
  1561. --------b-5F03-------------------------------
  1562. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LOGICAL ORIGIN
  1563.     AH = 03h
  1564.     CX = column
  1565.     DX = row
  1566. SeeAlso: AH=04h
  1567. --------b-5F04-------------------------------
  1568. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET CLIP REGION
  1569.     AH = 04h
  1570.     CX = left-most column
  1571.     DX = top-most row
  1572.     SI = right-most column
  1573.     DI = bottom-most row
  1574. SeeAlso: AH=03h
  1575. --------b-5F05-------------------------------
  1576. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW RECTANGLE
  1577.     AH = 05h
  1578.     AL = fill type
  1579.         00h outline, using current line type and color
  1580.         01h solid, using current color
  1581.         02h pattern, using current fill mask and color
  1582.     DX,CX = row,column of other corner of rectangle
  1583. Note:    the rectangle is drawn starting at the current pen position
  1584. SeeAlso: AH=01h,AH=06h,AH=07h
  1585. --------b-5F06-------------------------------
  1586. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - DRAW LINE
  1587.     AH = 06h
  1588.     DX,CX = row,column of end point
  1589. Note:    the line is drawn starting at the current pen position
  1590. SeeAlso: AH=05h,AH=07h
  1591. --------b-5F07-------------------------------
  1592. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PLOT POINT
  1593.     AH = 07h
  1594.     DX,CX = row,column of point
  1595. Note:    also sets pen position to the specified point
  1596. SeeAlso: AH=06h,AH=08h,AH=0Ch
  1597. --------b-5F08-------------------------------
  1598. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - MOVE PEN
  1599.     AH = 08h
  1600.     DX,CX = row,column of new pen position
  1601. SeeAlso: AH=07h,AH=09h
  1602. --------b-5F09-------------------------------
  1603. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET PEN COLOR
  1604.     AH = 09h
  1605.     AL = new color (00h = white, 01h = black)
  1606. SeeAlso: AH=08h,AH=0Ah,AH=0Bh
  1607. --------b-5F0A-------------------------------
  1608. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET REPLACEMENT RULE
  1609.     AH = 0Ah
  1610.     AL = new replacement rule
  1611.         00h force
  1612.         01h AND
  1613.         02h OR
  1614.         03h XOR
  1615.         ---100LX/200LX---
  1616.         04h InvForce
  1617.         05h InvAND
  1618.         06h    InvOR
  1619.         07h InvXOR
  1620.         08h Txt
  1621. SeeAlso: AH=01h,AH=09h,AH=0Bh
  1622. --------b-5F0B-------------------------------
  1623. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - SET LINE TYPE
  1624.     AH = 0Bh
  1625.     CX = new line type
  1626. Note:    the line type specifies 16 bits which are repeated over and over while
  1627.       drawing the pixels of a line
  1628. SeeAlso: AH=09h,AH=0Ah
  1629. --------b-5F0C-------------------------------
  1630. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET PIXEL
  1631.     AH = 0Ch
  1632.     DX,CX = row,column of pixel to read
  1633. Return: AX = pixel color
  1634. SeeAlso: AH=07h
  1635. --------b-5F0D-------------------------------
  1636. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - GET IMAGE
  1637.     AH = 0Dh
  1638.     DX,CX = row,column of first corner
  1639.     BP,SI = row,column of second corner
  1640.     ES:DI -> image buffer (see #2393)
  1641. Note:    the specified corners are included in the saved image
  1642. SeeAlso: AH=0Eh
  1643.  
  1644. Format of HP 95LX image buffer:
  1645. Offset    Size    Description    (Table 2393)
  1646.  00h    WORD    number of planes (always 01h on HP 95LX)
  1647.  02h    WORD    number of bits/pixel (always 01h on HP 95LX)
  1648.  04h    WORD    image width in pixels
  1649.  06h    WORD    image height in pixels
  1650.  08h  N BYTEs    image data
  1651.         requires (WIDTH+7)/8 * HEIGHT bytes
  1652. --------b-5F0E-------------------------------
  1653. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - PUT IMAGE
  1654.     AH = 0Eh
  1655.     AL = replacement rule (see #2394)
  1656.     DX,CX = row,column of top left corner
  1657.     ES:DI -> image buffer (see #2393)
  1658. Note:    if the specified image does not fit completely on the screen, this call
  1659.       does nothing
  1660. SeeAlso: AH=0Dh
  1661.  
  1662. Bitfields for replacement rule:
  1663. Bit(s)    Description    (Table 2394)
  1664.  2    invert image before applying rule
  1665.  1-0    function (00 force, 01 AND, 10 OR, 11 XOR)
  1666. --------b-5F0F-------------------------------
  1667. INT 5F - HP 95LX/100LX/200LX GRAPHICS PRIMITIVES - WRITE TEXT
  1668.     AH = 0Fh
  1669.     AL = rotate flag (if nonzero, rotate 90 degrees counter-clockwise)
  1670.     DX,CX = row,column of first character's top left corner
  1671.     ES:DI -> ASCIZ text
  1672. --------b-5F10-------------------------------
  1673. INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - GET FONT POINTER
  1674.     AH = 10h
  1675.     CX = font size of desired font
  1676.         0808h  8x8    small  (80x25 text)
  1677.         0A0Bh 11x10 medium (64x18 text)
  1678.         100Ch 12x16 large  (40x16 text)
  1679. Return: DX:AX -> ptr to font or 0000h:fontID# if built-in font
  1680. SeeAlso: AH=11h
  1681. --------b-5F11-------------------------------
  1682. INT 5F - HP 100LX/200LX GRAPHICS PRIMITIVES - SET CURRENT FONT
  1683.     AH = 11h
  1684.     ES:DI -> ptr to font or 0000h:fontID# for built-in font
  1685. Note:    this function should be called immediately after AH=10h with the
  1686.       pointer supplied by that call
  1687. SeeAlso: AH=10h
  1688. --------*-60---------------------------------
  1689. INT 60 - reserved for user interrupt
  1690. --------v-60---------------------------------
  1691. INT 60 - VIRUS - "Zero Bug" - INSTALLATION CHECK
  1692. Desc:    The "Zero Bug" virus hooks this vector.     It considers itself installed
  1693.       if offset 103h of the handler's segment contains the bytes "ZE"
  1694. SeeAlso: INT 32,INT 44"VIRUS",INT 61"SEMTEX"
  1695. --------d-60---------------------------------
  1696. INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
  1697. SeeAlso: INT 41,INT 61"Adaptec",INT 62"Adaptec",INT 63"Adaptec",INT 64"Adaptec"
  1698. SeeAlso: INT C0"AMI",#0586
  1699. Notes:    this vector stores the first four bytes of the parameter table for
  1700.       hard disk 0
  1701.     these vectors are used by the following Adaptec controllers:
  1702.         ACB 2370 A/B/C, ACB 2372 A/B/C, ACB 2333 A/B, 2322B-8, 2322B-16
  1703.     these vectors are NOT used by the following Adaptec controllers:
  1704.         ACB 2310, ACB 2312, ACB 2320D, ACB 2322D
  1705. --------b-60---------------------------------
  1706. INT 60 - TI Professional PC - SYSTEM ROM DATA AREA POINTER (NOT A VECTOR!)
  1707. Desc:    the low word of this vector contains the segment of the RAM data area
  1708.       to be used by the system ROM at F400h:A000h, and the high word
  1709.       contains the length of the data area (see #2395)
  1710. SeeAlso: INT 61"TI Professional PC",INT 66"TI Professional PC"
  1711.  
  1712. Format of TI Professional System ROM data area:
  1713. Offset    Size    Description    (Table 2395)
  1714.  00h    BYTE    port 00h shadow
  1715.  01h    BYTE    port 03h shadow
  1716.  02h    BYTE    port 04h shadow
  1717.  03h    WORD    system configuration word (see #2396)
  1718.  05h    BYTE    25ms count
  1719.  06h    WORD    offset of timing event 1 (0008h)
  1720.  08h    WORD    (event 1) offset of timing event 2 (0010h)
  1721.  0Ah    BYTE    (event 1) unused (FFh)
  1722.  0Bh    BYTE    (event 1) active flag (00h = off, 80h = on)
  1723.  0Ch    WORD    (event 1) count-down until end of event
  1724.  0Eh    WORD    (event 1) event routine (in segment F400h) to call at timeout
  1725.  10h    WORD    (event 2) offset of timing event 3 (0018h)
  1726.  12h    BYTE    (event 2) unused (FFh)
  1727.  13h    BYTE    (event 2) active flag (00h = off, 80h = on)
  1728.  14h    WORD    (event 2) count-down until end of event
  1729.  16h    WORD    (event 2) event routine (in segment F400h) to call at timeout
  1730.  18h    ...
  1731. Note:    timing event 1 is the disk I/O timeout, and event 2 is the floppy disk
  1732.       motor timeout
  1733.  
  1734. Bitfields for TI Professional System Configuration Word:
  1735. Bit(s)    Description    (Table 2396)
  1736.  0    drive A: installed
  1737.  1    drive B: installed
  1738.  2    drive C: installed
  1739.  3    drive D: installed
  1740.  4    drive A: is 80-track
  1741.  5    drive A: is double-sided
  1742.  6    60-Hz (USA,etc.) system instead of 50-Hz (Europe)
  1743.  7    hard disk installed
  1744.  8    serial port 1 installed
  1745.  9    serial port 2 installed
  1746.  10    serial port 3 installed
  1747.  11    serial port 4 installed
  1748.  14-12    installed graphics planes
  1749.     000 none
  1750.     001 plane A
  1751.     111 planes A, B, and C
  1752.  15    clock installed
  1753. SeeAlso: #2395
  1754. --------b-60---------------------------------
  1755. INT 60 - Atari Portfolio - USER INTERFACE FUNCTIONS
  1756. Desc:    supplies a number of subfunctions which perform such functions as
  1757.       drawing boxes and menus, and provide input line editing
  1758. SeeAlso: INT 61"Atari"
  1759. --------V-60---------------------------------
  1760. INT 60 - Nabbit v2.0 - (NOT A VECTOR!) - INSTALLATION CHECK
  1761. Program: Nabbit is a shareware resident screen data grabber by RSE Inc.
  1762. Range:    INT 60 to INT 66, selected by searching for first free vector
  1763. Note:    the Nabbit installation check consists of testing whether the
  1764.       interrupt vector points at the ASCIZ signature string "iG"
  1765.       (69h 47h 00h)
  1766. --------V-60---------------------------------
  1767. INT 60 U - Buffit v3.0 - (NOT A VECTOR!) - INSTALLATION CHECK
  1768. Program: Buffit is a shareware scrollback utility by D.T. Hamilton
  1769. Range:    INT 60 to INT 6F, selected by searching for first free vector
  1770. Notes:    the Buffit installation check consists of testing whether the
  1771.       interrupt vector points at the ASCII signature "Buffit  "
  1772.     there is a private entry point (see #2397) immediately following the
  1773.       signature string, i.e. eight bytes beyond the address pointed at
  1774.       by the interrupt vector
  1775.  
  1776. (Table 2397)
  1777. Call Buffit private entry point with:
  1778.     AH = function
  1779.         00h get information and hotkey state
  1780.         01h get information and toggle hotkey state
  1781. Return: AH = new hotkey state (00h enabled, 01h disabled)
  1782.     AL = hotkey scan code (see #0005)
  1783.     BH = hotkey shift states
  1784.     BL = ??? (01h)
  1785.     CX = segment of resident code
  1786.     DH = interrupt number used for signature pointer
  1787.     DL = ??? (00h)
  1788.     SI = INT 09 handler offset
  1789.     DI = INT 21 handler offset
  1790. Index:    hotkeys;Buffit
  1791. --------r-60---------------------------------
  1792. INT 60 - PC-IPC API
  1793.     STACK:    DWORD    pointer to parameter block (see #2398)
  1794. Return: STACK:    unchanged
  1795. Program: PC-IPC is a shareware TSR by Donnelly Software Engineering which
  1796.       allows communication between independent programs
  1797. Range:    INT 00 to INT FF, selected by commandline switch
  1798.  
  1799. Format of PC-IPC parameter block:
  1800. Offset    Size    Description    (Table 2398)
  1801.  00h    WORD    caller's ID
  1802.  02h    WORD    to ID
  1803.  04h    WORD    command code (see #2399)
  1804.  06h    WORD    returned status (see #2400)
  1805.  08h    WORD    returned error code (see #2401)
  1806.  0Ah    WORD    size of data
  1807.  0Ch    DWORD    pointer to data buffer
  1808.  
  1809. (Table 2399)
  1810. Values for PC-IPC command code:
  1811.  01h "IPC_CMND_INQUIRE"     inquire current status
  1812.     set status field, writes WORD to data buffer containing free
  1813.       message space in bytes, and sets the "size" field to the
  1814.       number of messages waiting
  1815.  02h "IPC_CMND_ENABLE"    reenable PC-IPC
  1816.     ignored unless called with the same ID that disabled PC-IPC
  1817.  03h "IPC_CMND_DISABLE" disable PC-IPC
  1818.  04h "IPC_CMND_INSTALL" reset PC-IPC
  1819.  06h "IPC_CMND_RDATA"    read data
  1820.     returns first message in data buffer, sets "size" to message length
  1821.       and "to ID" field to sender's ID
  1822.     if no messages available, bit 4 of status is cleared and "size" is
  1823.       set to zero
  1824.  07h "IPC_CMND_SDATA"    send data
  1825.  08h "IPC_CMND_REQID"    require user ID
  1826.     create a new recognized ID and return in "caller's ID" field
  1827.  09h "IPC_CMND_DELID"    cancel user ID
  1828.     delete caller's ID from pool of recognized IDs
  1829.  0Ah "IPC_CMND_RDATAW"    read data, wait if no messages available
  1830.  0Bh "IPC_CMND_VERS"    get PC-IPC version
  1831.     string representing version returned in data buffer, "size" field
  1832.       set to length of string
  1833.  
  1834. Bitfields for returned status:
  1835. Bit(s)    Description    (Table 2400)
  1836.  0    unused
  1837.  1    IPC enabled
  1838.  2    IPC installed
  1839.  3    error
  1840.  4    message(s) available
  1841.  
  1842. (Table 2401)
  1843. Values for PC-IPC error code:
  1844.  00h    no error
  1845.  01h    invalid command or parameter
  1846.  02h    only process 0 can install/reset IPC
  1847.  03h    process can not install/reset IPC
  1848.  04h    IPC is not enabled
  1849.  05h    process can not disable IPC
  1850.  06h    invalid destination process ID
  1851.  07h    invalid sending process ID
  1852.  08h    invalid data destination
  1853.  09h    no more process IDs available
  1854.  0Ah    can not relinquish that process ID
  1855.  0Bh    message space is full
  1856.  0Ch    IPC is not installed
  1857. --------R-60---------------------------------
  1858. INT 60 - Tangram Arbiter - API
  1859. Desc:    Arbiter makes a PC disk look like a slow disk over an SNA link to an
  1860.       IBM mainframe
  1861. Range:    INT 60h to INT 66h, selected by configuration parameter
  1862. Notes:    identified by string "@ARB_API" immediately following a short jump at
  1863.       the interrupt handler address
  1864. --------N-60---------------------------------
  1865. INT 60 - Excelan LAN Workplace for DOS 3.5 - API
  1866.     ES:BX -> request packet (see #2402)
  1867. Return: request packet updated
  1868. Notes:    this interrupt is also supported by Beame&Whiteside's BWLWP35 shim,
  1869.       which was used in creating this description
  1870.     the installation check consists of testing for the WORD 4142h ('AB')
  1871.       immediately preceding the interrupt handler
  1872. BUG:    because BWLWP35 range-checks only the low byte of the function number,
  1873.       and has a fencepost error even in that test, functions 000Bh and
  1874.       XX01h-XX0Bh (XX nonzero) branch to random locations
  1875. SeeAlso: INT 2F/AX=7A40h
  1876.  
  1877. Format of Excelan request packet:
  1878. Offset    Size    Description    (Table 2402)
  1879.  00h 12 BYTEs    ???
  1880.  0Ch    WORD    (ret) error code (see #2403)
  1881.  0Eh    DWORD    -> FAR function for ???
  1882.  12h    WORD    function number
  1883.         0001h ???
  1884.         0002h NOP
  1885.         0003h NOP
  1886.         0004h NOP
  1887.         0005h ???
  1888.         0006h get ??? record
  1889.         0007h NOP
  1890.         0008h reset ???
  1891.         0009h NOP
  1892.         000Ah set ???
  1893.     ???
  1894. ---function 01h---
  1895.  20h    BYTE    (call) subfunction (32h-3Bh)
  1896.         3Bh non-blocking I/O request (will be tested every clock tick)
  1897.  21h    BYTE    (ret) error code
  1898.         00h successful
  1899.         09h invalid connection number
  1900.         2Ah bad connection type
  1901.         45h ???
  1902. ---function 01h, subfunction 32h---
  1903.  3Ah    WORD    (call) connection type (01h stream, 02h datagram)
  1904. ---function 01h, subfunction 34h---
  1905.  26h    WORD    (call) ???
  1906.  28h    WORD    (call) ???
  1907.  2Ah    WORD    (call) ???
  1908. ---function 01h, subfunction 35h---
  1909.  1Ah    WORD    (call) connection number???
  1910.  26h    WORD    (ret) ???
  1911. ---function 01h, subfunction 36h---
  1912.  1Ah    WORD    (call) connection number???
  1913.  38h    WORD    ???
  1914. ---function 01h, subfunction 37h---
  1915.  24h    WORD    (ret) ???
  1916.  26h    WORD    (ret) ???
  1917. ---function 01h, subfunction 38h---
  1918.  1Ah    WORD    (call) connection number???
  1919. ---function 01h, subfunction 3Ah---
  1920.  22h    WORD    (call) ???
  1921.         667Eh ???
  1922.         667Fh ???
  1923.  24h    BYTE    (call 667Eh) ???
  1924.  24h    WORD    (return 667Fh) ???
  1925. ---function 01h, subfunction 3Bh---
  1926.  0Eh    DWORD    (call) -> function to invoke for I/O or 0000h:0000h
  1927.         function called with AX = 0000h
  1928.                      STACK: DWORD -> request packet
  1929.                         WORD 0000h
  1930.             should return STACK unchanged
  1931.  1Ah    WORD    (call) connection number???
  1932.  21h    BYTE    (ret) set to 01h when I/O becomes possible
  1933.  22h    BYTE    (call) direction (00h write, 01h read)
  1934.  34h    DWORD    (ret) -> next pending request packet
  1935. ---function 05h---
  1936.  1Eh    WORD    (call) ???
  1937.  20h    WORD    (call) ???
  1938.  34h    DWORD    (call) -> ???
  1939. ---function 06h---
  1940.  16h    DWORD    (call) -> buffer for ??? record (see #2404)
  1941.  1Ah    WORD    (call) number of bytes to copy
  1942.  22h    WORD    (ret) number of bytes transferred
  1943. ---function 08h---
  1944.  14h    WORD    (ret) ??? (0001h)
  1945. ---function 0Ah---
  1946.  16h    DWORD    (call) -> WORD ???
  1947.  1Ch    WORD    (call) must be 000Ah for BWLWP35
  1948.  
  1949. (Table 2403)
  1950. Values for Excelan error code:
  1951.  0000h    successful
  1952.  002Dh    invalid function
  1953.  0050h    ???
  1954.  
  1955. Format of ??? record:
  1956. Offset    Size    Description    (Table 2404)
  1957.  00h    WORD    offset of ???
  1958.  02h  4 BYTEs    ???
  1959.  06h    DWORD    IP address (big-endian)
  1960.  0Ah  6 BYTEs    physical address (big-endian)
  1961.     ???
  1962. --------N-60---------------------------------
  1963. INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
  1964. Note:    The handler for the interrupt will start with a 2-byte NEAR jump
  1965.       instruction, followed by the ASCIZ signature string "TCP DRVR".
  1966.     To find the interrupt being used by the driver, an application
  1967.       should scan through interrupt vectors 60h to 7Fh until it finds
  1968.       one with the "TCP DRVR" string.
  1969.     This specification is being proposed by Peter R. Tattam from the
  1970.       University of Tasmania.
  1971. Index:    installation check;TCPDRV
  1972. --------G-60---------------------------------
  1973. INT 60 U - INTRSPY/CMDSPY v1.0 only - API
  1974. Program: INTRSPY is a script-driven debugger included with the book
  1975.       _Undocumented_DOS_.
  1976. Notes:    INTRSPY will hook the first available interrupt in the range 60h-67h.
  1977.     The installation check is to
  1978.       a) determine that the handler is an IRET instruction
  1979.       b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
  1980.     If INTRSPY is installed, the DWORD immediately after the IRET stores
  1981.       its entry point (see #2405)
  1982.     INTRSPY v2.0 (included with the second edition of the book) no longer
  1983.       supports this API
  1984. Index:    installation check;INTRSPY
  1985.  
  1986. (Table 2405)
  1987. Call INTRSPY v1.0 entry point with:
  1988.     AH = function
  1989.         00h ???
  1990.         01h set current directory (for use in reporting)
  1991.         ES:DI -> counted string containing directory name (max 79 char)
  1992.         02h set name of script file
  1993.         ES:DI -> counted string containing file name (max 79 chars)
  1994.         03h set script arguments
  1995.         ES:DI -> counted string containing arguments (max 79 chars)
  1996.         04h get directory set with function 01h
  1997.         ES:DI -> 80-byte buffer for directory name
  1998.         05h get name of script file
  1999.         ES:DI -> 80-byte buffer for script filename
  2000.         06h get script arguments
  2001.         ES:DI -> 80-byte buffer for script arguments
  2002.         07h get ???
  2003.         CL = 00h-15h specifies what to get
  2004.         ES:DI -> WORD to be set with desired value on return
  2005.         08h get ???
  2006.         ES:DI -> WORD to be set with returned value
  2007.         09h get ???
  2008.         ES:DI -> WORD to be set with returned value
  2009.         0Bh store code for interrupt handler???
  2010.         ES:DI -> data
  2011.         CX = number of bytes
  2012.         0Ch ???
  2013.         ES:DI -> ???
  2014.         0Dh get ???
  2015.         ES:DI -> BYTE to be set with returned value
  2016.         0Eh set ??? flag
  2017.         0Fh clear ??? flag
  2018.         10h ???
  2019.         Return: AL = 04h or 05h if failed
  2020.         11h ???
  2021.         Return: AL = 05h if failed
  2022.         12h get ???
  2023.         ES:DI -> buffer
  2024.         Return: CX = number of bytes returned in buffer
  2025.         13h ???
  2026. Return: AH = 00h
  2027.     AL = status
  2028.         00h successful
  2029.         01h invalid function
  2030.         02h ???
  2031.         03h ???
  2032.         04h ???
  2033.         05h ???
  2034. --------u-60---------------------------------
  2035. INT 60 U - PC/370 v4.2 - ???
  2036.     ???
  2037. Return: ???
  2038. Program: PC/370 is an IBM 370 emulator by Donald S. Higgins
  2039. Range:    INT 00 to INT FF, selected by patching the executable
  2040. Note:    the documentation includes instructions for patching the system for
  2041.       another interrupt
  2042. SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370"
  2043. --------r-60---------------------------------
  2044. INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
  2045. SeeAlso: INT 61"JPI"
  2046. --------N-60---------------------------------
  2047. INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
  2048. Range:    INT 20 to INT FF
  2049. Notes:    The handler for the interrupt will start with a 3-byte jump
  2050.       instruction, followed by the ASCIZ string "PKT DRVR" (the
  2051.       terminating NUL is significant).
  2052.     To find the interrupt being used by the driver, an application should
  2053.       scan through interrupt vectors 20h to FFh (60h through 80h for
  2054.       v1.09- of the specification) until it finds one with the "PKT DRVR"
  2055.       string.
  2056.     AH values of 80h to FFh have been reserved for user-defined additions.
  2057. --------I-60---------------------------------
  2058. INT 60 u - 3270-PC CONTROL PROGRAM - ???
  2059. --------b-60----DI0100-----------------------
  2060. INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
  2061.     DI = 0100h
  2062.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2063.         DWORD    pointer to event record (see #2407)
  2064. Return: event record filled
  2065.     STACK unchanged
  2066. Note:    this call will timeout after about 500ms
  2067. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61"HP 95LX",INT 62"HP 95LX"
  2068.  
  2069. (Table 2406)
  2070. Values for HP 95LX event type:
  2071.  00h    no events
  2072.  01h    keystroke available
  2073.  02h    Ctrl-Break
  2074.  03h    reactivation (always follows deactivation event)
  2075.  04h    about to deactivate (sleep)
  2076.     next get-event call will not return until reactivated
  2077.  05h    forced application termination
  2078.  06h    1-2-3 bridge service request (only given to 1-2-3)
  2079.  07h    request to grow
  2080.  08h    request to shrink
  2081.  09h    application's alarm expired
  2082.  0Ah    daily chance to set an alarm
  2083.  0Bh    system date or time has been changed
  2084.  
  2085. Format of HP 95LX event record:
  2086. Offset    Size    Description    (Table 2407)
  2087.  00h    WORD    event type (see #2406)
  2088.  02h    WORD    ASCII code page 850 translation of keystroke
  2089.         or grow/shrink amount in paragraphs or 0000h if error
  2090.         or alarm expiration data
  2091.  04h    BYTE    scan code from BIOS
  2092.  05h    BYTE    shift key states at time keystroke is retrieved
  2093.  06h    WORD    LICS translation of keystroke
  2094.  08h    BYTE    function key number (1-2-3 only)
  2095.  09h    DWORD    pointer to 1-2-3 bridge record (see #2409)
  2096.         or pointer to time change structure (see #2408)
  2097. Note:    if the System Manager is awaiting the conclusion of a bridge service
  2098.       or grow/shrink call and the event type field is set to FFFFh on
  2099.       entry, the SysMgr will resume
  2100.  
  2101. Format of HP 95LX time change structure:
  2102. Offset    Size    Description    (Table 2408)
  2103.  00h    WORD    old year
  2104.  02h    BYTE    old month
  2105.  03h    BYTE    old date
  2106.  04h    BYTE    old day
  2107.  05h    BYTE    old hour
  2108.  06h    BYTE    old minute
  2109.  07h    BYTE    old second
  2110.  08h    BYTE    old hundredth of a second
  2111.  09h  9 BYTEs    new time in same format as old time
  2112. --------b-60----DI0101-----------------------
  2113. INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
  2114.     DI = 0101h
  2115.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2116.         DWORD pointer to event record (INT 60/DI=0100h)
  2117. Return: event record filled
  2118.     STACK unchanged
  2119. Note:    this call returns immediately if no event is available
  2120. SeeAlso: INT 60/DI=0100h
  2121. --------b-60----DI0102-----------------------
  2122. INT 60 u - HP 95LX System Manager - "SH_STATUS"
  2123.     DI = 0102h
  2124.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2125. Return: ???
  2126.     STACK unchanged
  2127. --------b-60----DI0104-----------------------
  2128. INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
  2129.     DI = 0104h
  2130.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2131.         DWORD pointer to bridge record (see #2409)
  2132. Return: ???
  2133.     STACK unchanged
  2134.  
  2135. Format of HP 95LX bridge record:
  2136. Offset    Size    Description    (Table 2409)
  2137.  00h    WORD    function code (see #2410)
  2138.  02h    WORD    return code from 1-2-3
  2139.  04h 16 BYTEs    ASCII range name
  2140.  14h    WORD    start column of range
  2141.  16h    WORD    start row of range
  2142.  18h    WORD    end column of range
  2143.  1Ah    WORD    end row of range
  2144.  1Ch    WORD    order in which data is placed in buffer
  2145.  1Eh    WORD    buffer size
  2146.  20h    WORD    offset within bridge record's segment of buffer for cell data
  2147.  
  2148. (Table 2410)
  2149. Values for HP 95LX function code:
  2150.  00h    test
  2151.  01h    get range
  2152.  02h    "GETRANGE_ADDR"
  2153.  03h    "SETRANGE_ADDR"
  2154.  04h    "GETRANGE_DATA"
  2155.  05h    "SETRANGE_DATA"
  2156.  06h    recalculate
  2157.  07h    get cursor
  2158.  08h    set cursor
  2159.  09h    redisplay
  2160.  0Ah    cell type
  2161.  0Bh    "CALCTYPE"
  2162. --------b-60----DI0105-----------------------
  2163. INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
  2164.     DI = 0105h
  2165.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2166. Return: ???
  2167.     STACK unchanged
  2168. --------b-60----DI0106-----------------------
  2169. INT 60 u - HP 95LX System Manager - YIELD CPU
  2170.     DI = 0106h
  2171.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2172.         DWORD pointer to ???
  2173. Return: ???
  2174.     STACK unchanged
  2175. SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h
  2176. --------b-60----DI0107-----------------------
  2177. INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
  2178.     DI = 0107h
  2179.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2180.         DWORD pointer to ???
  2181. Return: ???
  2182.     STACK unchanged
  2183. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2184. --------b-60----DI0200-----------------------
  2185. INT 60 u - HP 95LX System Manager - SETUP MENU
  2186.     DI = 0200h
  2187.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2188.         DWORD    pointer to menu data (see #2411)
  2189.         DWORD    pointer to ???
  2190.         WORD    number of items on menu???
  2191.         WORD    ???
  2192.         DWORD    pointer to ???
  2193.         WORD    ???
  2194.         DWORD    pointer to ???
  2195. Return: ???
  2196.     STACK unchanged
  2197. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h
  2198.  
  2199. Format of HP 95LX menu data:
  2200. Offset    Size    Description    (Table 2411)
  2201.  00h 80 BYTEs    first line of menu text
  2202.  50h 80 BYTEs    second line of menu text
  2203.  A0h 80 BYTEs    third line of menu text
  2204.  F0h    WORD    number of keywords
  2205.  F2h    WORD    index of currently highlighted keyword or FFFFh
  2206.  F4h    WORD    single prompt on top line if nonzero
  2207.  F6h 20 BYTEs    which line each of 20 keywords is located on
  2208. 10Ah 20 BYTEs    offset of each of 20 keywords within its line
  2209. 11Eh 20 BYTEs    length of each of 20 keywords
  2210. 132h 20 BYTEs    first letter of each of 20 keywords
  2211. 146h 20 WORDs    offsets of long prompts for each of 20 keywords
  2212. --------b-60----DI0201-----------------------
  2213. INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
  2214.     DI = 0201h
  2215.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2216.         DWORD    pointer to menu data (see #2411)
  2217. Return: ???
  2218.     STACK unchanged
  2219. SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h
  2220. --------b-60----DI0202-----------------------
  2221. INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
  2222.     DI = 0202h
  2223.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2224.         DWORD    pointer to menu data (see #2411)
  2225. Return: ???
  2226.     STACK unchanged
  2227. SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h
  2228. --------b-60----DI0203-----------------------
  2229. INT 60 u - HP 95LX System Manager - REMOVE MENU
  2230.     DI = 0203h
  2231.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2232.         DWORD    pointer to menu data (see #2411)
  2233. Return: ???
  2234.     STACK unchanged
  2235. SeeAlso: INT 60/DI=0201h,INT 60/DI=0202h,INT 60/DI=0204h,INT 60/DI=0208h
  2236. --------b-60----DI0204-----------------------
  2237. INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER HANDLE MENU KEYSTROKE
  2238.     DI = 0204h
  2239.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2240.         DWORD    pointer to menu data (see #2411)
  2241.         WORD    keystroke
  2242.         DWORD    pointer to WORD to receive selection number
  2243. Return: buffer for selection number filled with index of selected menu item or
  2244.       FFFFh if no final selection yet
  2245.     STACK unchanged
  2246. SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0207h
  2247. --------b-60----DI0205-----------------------
  2248. INT 60 u - HP 95LX System Manager - INITIALIZE FILE SELECTION MENU
  2249.     DI = 0205h
  2250.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2251.         DWORD    pointer to file menu structure (see #2412)
  2252.         DWORD    pointer to edit record (see #2415 at INT 60/DI=0400h)
  2253.         DWORD    pointer to wildcard filespec for initial file list
  2254.         WORD    row???
  2255.         WORD    column???
  2256. Return: ???
  2257.     STACK unchanged
  2258. SeeAlso: INT 60/DI=0200h,INT 60/DI=0206h,INT 60/DI=0208h
  2259.  
  2260. Format of HP 95LX file menu structure:
  2261. Offset    Size    Description    (Table 2412)
  2262.  00h    DWORD    pointer to ASCIZ base directory name
  2263.  04h    DWORD    pointer to ASCIZ file pattern (wildcard filespec)
  2264.  08h    DWORD    pointer to file list workspace, at least 1024 bytes (see #2413)
  2265.  0Ch    WORD    size of file list workspace in bytes
  2266.  0Eh    WORD    starting row (-3 is topmost, 0 is first non-"reserved" line)
  2267.  10h    WORD    starting column
  2268.  12h    WORD    number of lines
  2269.  14h    WORD    number of columns
  2270.  16h    WORD    number of files displayed on each line
  2271. ---the remaining fields are initialized by the System Manager---
  2272.  18h    WORD    0000h if first edit character, else multiline
  2273.  1Ah    WORD    number of files in file list
  2274.  1Ch    WORD    max files workspace has room for
  2275.  1Eh    WORD    file at top of list
  2276.  20h    WORD    index of file to highlight
  2277.  22h    WORD    index of file to unhighlight
  2278.  24h    WORD    current focus (01h FMENU, 02h EDIT)
  2279.  
  2280. Format of HP 95LX file list workspace entry:
  2281. Offset    Size    Description    (Table 2413)
  2282.  00h    BYTE    file attributes
  2283.  01h    WORD    file time (see #0951 at INT 21/AX=5700h)
  2284.  03h    WORD    file date (see #0952 at INT 21/AX=5700h)
  2285.  05h    DWORD    file size
  2286.  09h 13 BYTEs    ASCIZ filename
  2287. --------b-60----DI0206-----------------------
  2288. INT 60 u - HP 95LX System Manager - DISPLAY/REDISPLAY FILE SELECTION MENU
  2289.     DI = 0206h
  2290.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2291.         DWORD    pointer to file menu structure (see #2412)
  2292.         DWORD    pointer to edit record (see #2415 at INT 60/DI=0400h)
  2293. Return: ???
  2294.     STACK unchanged
  2295. SeeAlso: INT 60/DI=0205h
  2296. --------b-60----DI0207-----------------------
  2297. INT 60 u - HP 95LX System Manager - LET SYSMGR PROCESS FILE SEL MENU KEYSTROKE
  2298.     DI = 0207h
  2299.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2300.         DWORD    pointer to file menu structure (see #2412)
  2301.         DWORD    pointer to edit record (see #2415 at INT 60/DI=0400h)
  2302.         WORD    keystroke
  2303. Return: AX = status (see #2414)
  2304.     STACK unchanged
  2305. SeeAlso: INT 60/DI=0205h,INT 60/DI=0208h
  2306.  
  2307. (Table 2414)
  2308. Values for HP 95LX System Manager status:
  2309.  0000h    keystroke processed, call INT 60/DI=0206h to refresh menu
  2310.  0001h    redisplay application area before refreshing menu
  2311.  0002h    user confirmed selection, filename is in edit record's buffer
  2312.  0003h    user aborted menu
  2313.  FFFBh    bad filename
  2314.  FFFCh    bad directory
  2315.  FFFDh    bad drive
  2316.  FFFEh    unknown keystroke
  2317.  FFFFh    keystroke known but invalid in current context
  2318. --------b-60----DI0208-----------------------
  2319. INT 60 u - HP 95LX System Manager - REMOVE FILE SELECTION MENU
  2320.     DI = 0208h
  2321.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2322.         DWORD    pointer to file menu structure (see #2412)
  2323.         DWORD    pointer to edit record (see #2415 at INT 60/DI=0400h)
  2324. Return: ???
  2325.     STACK unchanged
  2326. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0205h,INT 60/DI=0206h
  2327. --------b-60----DI0300-----------------------
  2328. INT 60 u - HP 95LX System Manager - DISPLAY STRING
  2329.     DI = 0300h
  2330.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2331.         WORD    starting row (-3 is topmost, 0 is first user line)
  2332.         WORD    starting column
  2333.         DWORD    pointer to string
  2334.         WORD    length of string
  2335.         WORD    display style: 0000h normal, 0001h reverse video
  2336.         WORD    "OSTYLE"
  2337. Return: ???
  2338.     STACK unchanged
  2339. SeeAlso: INT 60/DI=0F03h,INT 60/DI=1005h
  2340. --------b-60----DI0301-----------------------
  2341. INT 60 u - HP 95LX System Manager - CLEAR PORTION OF SCREEN
  2342.     DI = 0301h
  2343.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2344.         WORD    starting row (-3 is topmost, 0 is first user line)
  2345.         WORD    starting column
  2346.         WORD    number of rows
  2347.         WORD    number of columns
  2348. Return: ???
  2349.     STACK unchanged
  2350. SeeAlso: INT 60/DI=0302h,INT 60/DI=1005h
  2351. --------b-60----DI0302-----------------------
  2352. INT 60 u - HP 95LX System Manager - SCROLL PORTION OF SCREEN
  2353.     DI = 0302h
  2354.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2355.         WORD    starting row???
  2356.         WORD    starting column???
  2357.         WORD    height of scroll region???
  2358.         WORD    width of scroll region???
  2359.         WORD    number of lines to scroll region???
  2360. Return: ???
  2361.     STACK unchanged
  2362. SeeAlso: INT 60/DI=0301h
  2363. --------b-60----DI0303-----------------------
  2364. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_XCHG"
  2365.     DI = 0303h
  2366.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2367.         WORD    ???
  2368.         WORD    ???
  2369.         WORD    ???
  2370.         WORD    ???
  2371.         DWORD    pointer to ???
  2372. Return: ???
  2373.     STACK unchanged
  2374. --------b-60----DI0304-----------------------
  2375. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRATTR"
  2376.     DI = 0304h
  2377.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2378.         DWORD    pointer to ???
  2379.         WORD    ???
  2380. Return: ???
  2381.     STACK unchanged
  2382. --------b-60----DI0305-----------------------
  2383. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRRVRT"
  2384.     DI = 0305h
  2385.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2386.         WORD    ???
  2387.         WORD    ???
  2388.         DWORD    pointer to ???
  2389.         WORD    ???
  2390. Return: ???
  2391.     STACK unchanged
  2392. --------b-60----DI0307-----------------------
  2393. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_CHRINV"
  2394.     DI = 0307h
  2395.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2396.         WORD    ???
  2397.         WORD    ???
  2398.         WORD    ???
  2399. Return: ???
  2400.     STACK unchanged
  2401. --------b-60----DI0308-----------------------
  2402. INT 60 u - HP 95LX System Manager - SCREEN SERVICE "M_ROWS_COLS"
  2403.     DI = 0308h
  2404.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2405. Return: ???
  2406.     STACK unchanged
  2407. --------b-60----DI0309-----------------------
  2408. INT 60 u - HP 95LX System Manager - SET SCREEN (VIDEO???) MODE
  2409.     DI = 0309h
  2410.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2411.         WORD    new mode
  2412. Return: ???
  2413.     STACK unchanged
  2414. --------b-60----DI030A-----------------------
  2415. INT 60 u - HP 95LX System Manager - GET SCREEN (VIDEO???) MODE
  2416.     DI = 030Ah
  2417.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2418. Return: ???
  2419.     STACK unchanged
  2420. --------b-60----DI030B-----------------------
  2421. INT 60 u - HP 95LX System Manager - SET CURSOR POSITION
  2422.     DI = 030Bh
  2423.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2424.         WORD    row (-3 is topmost, 0 is first non-reserved line)
  2425.         WORD    column
  2426. Return: ???
  2427.     STACK unchanged
  2428. Note:    cursor is hidden if the specified position is not on the physical
  2429.       display
  2430. SeeAlso: INT 10/AH=02h,INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2431. --------b-60----DI0400-----------------------
  2432. INT 60 u - HP 95LX System Manager - "EDIT_INIT"
  2433.     DI = 0400h
  2434.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2435.         DWORD    pointer to edit record (see #2415)
  2436.         DWORD    pointer to string to be edited
  2437.         WORD    initial length of string being edited
  2438.         WORD    maximum length of edited string
  2439.         WORD    row of edit field
  2440.         WORD    leftmost column of edit field
  2441. Return: ???
  2442.     STACK unchanged
  2443.  
  2444. Format of HP 95LX edit record:
  2445. Offset    Size    Description    (Table 2415)
  2446.  00h    WORD    current length of edit buffer
  2447.  02h    BYTE    flag for special processing on first character
  2448.  03h    BYTE    flags
  2449.         bit 0: tab handling
  2450.  04h    WORD    editing in prompt window?
  2451.  06h    DWORD    pointer to top line of prompt window message
  2452.  0Ah    WORD    length of top line of prompt
  2453.  0Ch    DWORD    pointer to second line of prompt window message
  2454.  10h    WORD    length of second line of prompt
  2455.  12h 80 BYTEs    workspace for editing
  2456.  62h  2 WORDs    line array needed for multi-line editing
  2457.  66h 36 BYTEs    multi-line edit record (see #2416)
  2458.  8Ah    WORD    displayable columns
  2459.  
  2460. Format of HP 95LX multi-line edit record:
  2461. Offset    Size    Description    (Table 2416)
  2462.  00h    DWORD    pointer to user-supplied edit buffer
  2463.  04h    WORD    length of edit buffer
  2464.  06h    WORD    current cursor position
  2465.  08h    WORD    starting row of edit area (-3 is topmost, 0 is first user line)
  2466.  0Ah    WORD    starting column of edit area
  2467.  0Ch    WORD    height of edit area
  2468.  0Eh    WORD    width of edit area
  2469.  10h    WORD    current top row (-3 is topmost, 0 is first user line)
  2470.  12h    WORD    number of rows displayable
  2471.  14h    BYTE    cursor column
  2472.  15h    BYTE    01h if buffer has been modified
  2473.  16h    BYTE    first displayable column (ticker fields only)
  2474.  17h    BYTE    01h if wordwrap enabled, FFh if ticker field
  2475.  18h    DWORD    pointer to array of line starts (at least one bigger than edit
  2476.           area is high)
  2477.  1Ch    BYTE    currently marking?
  2478.  1Dh    BYTE    flag
  2479.  1Eh    WORD    offset of mark start
  2480.  20h    WORD    offset of mark end (inclusive)
  2481.  22h    WORD    displayable columns
  2482. --------b-60----DI0401-----------------------
  2483. INT 60 u - HP 95LX System Manager - EDIT ON TOP LINE
  2484.     DI = 0401h
  2485.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2486.         DWORD    pointer to edit record (see #2415)
  2487.         DWORD    pointer to string to edit
  2488.         WORD    initial length of string being edited
  2489.         WORD    maximum length of edited string
  2490.         DWORD    pointer to first line of prompt
  2491.         WORD    length of first line
  2492.         DWORD    pointer to second line of prompt
  2493.         WORD    length of second line
  2494. Return: ???
  2495.     STACK unchanged
  2496. --------b-60----DI0402-----------------------
  2497. INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY EDIT FIELD
  2498.     DI = 0402h
  2499.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2500.         DWORD    pointer to edit record (see #2415)
  2501. Return: ???
  2502.     STACK unchanged
  2503. --------b-60----DI0403-----------------------
  2504. INT 60 u - HP 95LX System Manager - LET SYSTEM MANAGER PROCESS EDITING KEYSTROK
  2505.     DI = 0403h
  2506.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2507.         DWORD    pointer to edit record (see #2415)
  2508.         WORD    keystroke
  2509.         DWORD    pointer to WORD buffer for result code
  2510. Return: result code buffer filled with 0001h if editing complete
  2511.     STACK unchanged
  2512. --------b-60----DI0404-----------------------
  2513. INT 60 u - HP 95LX System Manager - "MDIT_INI"
  2514.     DI = 0404h
  2515.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2516.         DWORD    pointer to ???
  2517.         WORD    ???
  2518.         WORD    ???
  2519.         WORD    ???
  2520.         WORD    ???
  2521.         DWORD    pointer to ???
  2522.         WORD    ???
  2523.         WORD    ???
  2524.         WORD    ???
  2525.         DWORD    pointer to ???
  2526. Return: ???
  2527.     STACK unchanged
  2528. --------b-60----DI0405-----------------------
  2529. INT 60 u - HP 95LX System Manager - "MDIT_DIS"
  2530.     DI = 0405h
  2531.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2532.         DWORD    pointer to ???
  2533. Return: ???
  2534.     STACK unchanged
  2535. --------b-60----DI0406-----------------------
  2536. INT 60 u - HP 95LX System Manager - "MDIT_KEY"
  2537.     DI = 0406h
  2538.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2539.         DWORD    pointer to ???
  2540.         WORD    ???
  2541. Return: ???
  2542.     STACK unchanged
  2543. --------b-60----DI0407-----------------------
  2544. INT 60 u - HP 95LX System Manager - "MDIT_FIL"
  2545.     DI = 0407h
  2546.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2547.         DWORD    pointer to ???
  2548.         DWORD    pointer to ???
  2549. Return: ???
  2550.     STACK unchanged
  2551. --------b-60----DI0408-----------------------
  2552. INT 60 u - HP 95LX System Manager - "MDIT_MARK"
  2553.     DI = 0408h
  2554.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2555.         DWORD    pointer to ???
  2556. Return: ???
  2557.     STACK unchanged
  2558. --------b-60----DI0409-----------------------
  2559. INT 60 u - HP 95LX System Manager - "MDIT_UNMARK"
  2560.     DI = 0409h
  2561.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2562.         DWORD    pointer to ???
  2563. Return: ???
  2564.     STACK unchanged
  2565. --------b-60----DI040A-----------------------
  2566. INT 60 u - HP 95LX System Manager - "MDIT_CUTMARK"
  2567.     DI = 040Ah
  2568.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2569.         DWORD    pointer to ???
  2570. Return: ???
  2571.     STACK unchanged
  2572. --------b-60----DI040B-----------------------
  2573. INT 60 u - HP 95LX System Manager - "MDIT_INS_STR"
  2574.     DI = 040Bh
  2575.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2576.         DWORD    pointer to ???
  2577.         DWORD    pointer to ???
  2578.         WORD    ???
  2579. Return: ???
  2580.     STACK unchanged
  2581. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2582. --------b-60----DI0500-----------------------
  2583. INT 60 u - HP 95LX System Manager - OPEN FILE
  2584.     DI = 0500h
  2585.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2586.         DWORD    pointer to file state record (see #2417)
  2587.         DWORD    pointer to filename
  2588.         WORD    length of filename
  2589.         WORD    ???
  2590.         WORD    suppress buffering if nonzero
  2591. Return: AX = status
  2592.     STACK unchanged
  2593. SeeAlso: INT 60/DI=0501h,INT 60/DI=0502h,INT 60/DI=0508h
  2594.  
  2595. Format of HP 95LX file state record:
  2596. Offset    Size    Description    (Table 2417)
  2597.  00h    WORD    DOS file handle
  2598.  02h    WORD    state flags (see #2418)
  2599.  04h    DWORD    current DOS physical file offset (FFFFFFFFh if unknown)
  2600.  08h    DWORD    DOS file offset of start of buffer
  2601.  0Ch    DWORD    effective file offset as seen by caller
  2602.  10h    WORD    number of bytes in file buffer
  2603. ---buffered I/O only---
  2604.  12h 512 BYTEs    file buffer
  2605.  
  2606. Bitfields for HP 95LX file state flags:
  2607. Bit(s)    Description    (Table 2418)
  2608.  0    buffer contents valid
  2609.  1    buffer is dirty and must be written
  2610.  2    unbuffered I/O
  2611.  3    file is a character device
  2612. SeeAlso: #2417
  2613. --------b-60----DI0501-----------------------
  2614. INT 60 u - HP 95LX System Manager - OPEN FILE IN READ-ONLY MODE
  2615.     DI = 0501h
  2616.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2617.         DWORD    pointer to file state record (see #2417)
  2618.         DWORD    pointer to filename
  2619.         WORD    length of filename
  2620.         WORD    ???
  2621.         WORD    suppress buffering if nonzero
  2622. Return: AX = status
  2623.     STACK unchanged
  2624. SeeAlso: INT 60/DI=0500h
  2625. --------b-60----DI0502-----------------------
  2626. INT 60 u - HP 95LX System Manager - CREATE NEW FILE
  2627.     DI = 0502h
  2628.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2629.         DWORD    pointer to file state record (see #2417)
  2630.         DWORD    pointer to filename
  2631.         WORD    length of filename
  2632.         WORD    ???
  2633.         WORD    suppress buffering if nonzero
  2634. Return: AX = status
  2635.     STACK unchanged
  2636. SeeAlso: INT 60/DI=0500h,INT 60/DI=0503h
  2637. --------b-60----DI0503-----------------------
  2638. INT 60 u - HP 95LX System Manager - CREATE OR TRUNCATE FILE
  2639.     DI = 0503h
  2640.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2641.         DWORD    pointer to file state record (see #2417)
  2642.         DWORD    pointer to filename
  2643.         WORD    length of filename
  2644.         WORD    ???
  2645.         WORD    suppress buffering if nonzero
  2646. Return: AX = status
  2647.     STACK unchanged
  2648. SeeAlso: INT 60/DI=0502h
  2649. --------b-60----DI0504-----------------------
  2650. INT 60 u - HP 95LX System Manager - READ FROM FILE
  2651.     DI = 0504h
  2652.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2653.         DWORD    pointer to file state record (see #2417)
  2654.         DWORD    pointer to data buffer
  2655.         WORD    number of bytes to read
  2656.         DWORD    pointer to WORD in which to return actual bytes read
  2657. Return: ???
  2658.     STACK unchanged
  2659. SeeAlso: INT 60/DI=0505h
  2660. --------b-60----DI0505-----------------------
  2661. INT 60 - HP 95LX System Manager - WRITE TO FILE
  2662.     DI = 0505h
  2663.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2664.         DWORD    pointer to file state record (see #2417)
  2665.         DWORD    pointer to data
  2666.         WORD    length of data
  2667. Return: AX = status
  2668.     STACK unchanged
  2669. SeeAlso: INT 60/DI=0504h
  2670. --------b-60----DI0506-----------------------
  2671. INT 60 u - HP 95LX System Manager - SET FILE POSITION
  2672.     DI = 0506h
  2673.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2674.         DWORD    pointer to file state record (see #2417)
  2675.         2 WORDs    ???
  2676. Return: ???
  2677.     STACK unchanged
  2678. SeeAlso: INT 60/DI=0507h
  2679. --------b-60----DI0507-----------------------
  2680. INT 60 u - HP 95LX System Manager - GET FILE POSITION
  2681.     DI = 0507h "M_TELL"
  2682.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2683.         DWORD    pointer to file state record (see #2417)
  2684.         DWORD    pointer to DWORD buffer for file position???
  2685. Return: ???
  2686.     STACK unchanged
  2687. SeeAlso: INT 60/DI=0506h
  2688. --------b-60----DI0508-----------------------
  2689. INT 60 u - HP 95LX System Manager - CLOSE FILE
  2690.     DI = 0508h
  2691.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2692.         DWORD    pointer to file state record (see #2417)
  2693. Return: ???
  2694.     STACK unchanged
  2695. SeeAlso: INT 60/DI=0500h
  2696. --------b-60----DI0509-----------------------
  2697. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETPAT"
  2698.     DI = 0509h
  2699.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2700.         DWORD    pointer to ???
  2701.         DWORD    pointer to ???
  2702.         WORD    ???
  2703.         WORD    ???
  2704. Return: ???
  2705.     STACK unchanged
  2706. --------b-60----DI050A-----------------------
  2707. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_MATCH"
  2708.     DI = 050Ah
  2709.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2710.         DWORD    pointer to ??? (see #2419)
  2711.         DWORD    pointer to ???
  2712. Return: ???
  2713.     STACK unchanged
  2714.  
  2715. Format of HP 95LX pattern match control block:
  2716. Offset    Size    Description    (Table 2419)
  2717.  00h 43 BYTEs    FindFirst data block (see #0913 at INT 21/AH=4Eh)
  2718.  2Bh 80 BYTEs    full path name
  2719.  7Bh    BYTE    offset of last component of filename
  2720.  7Ch    BYTE    DOS function number (4Eh or 4Fh)
  2721. --------b-60----DI050B-----------------------
  2722. INT 60 u - HP 95LX System Manager - IDENTIFY FILENAME REFERENT
  2723.     DI = 050Bh
  2724.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2725.         DWORD    pointer to ???
  2726.         WORD    ???
  2727.         WORD    ???
  2728.         DWORD    pointer to ???
  2729. Return: ??? = result (see #2420)
  2730.     ???
  2731.     STACK unchanged
  2732.  
  2733. (Table 2420)
  2734. Values returned by HP 95LX System Manager:
  2735.  0000h    nonexistent
  2736.  0001h    file
  2737.  0002h    directory
  2738.  0003h    character device
  2739. --------b-60----DI050C-----------------------
  2740. INT 60 u - HP 95LX System Manager - DELETE FILE
  2741.     DI = 050Ch "M_DELETE"
  2742.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2743.         DWORD    pointer to ???
  2744.         WORD    ???
  2745.         WORD    ???
  2746. Return: ???
  2747.     STACK unchanged
  2748. --------b-60----DI050D-----------------------
  2749. INT 60 u - HP 95LX System Manager - RENAME FILE
  2750.     DI = 050Dh
  2751.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2752.         DWORD    pointer to ???
  2753.         WORD    ???
  2754.         WORD    ???
  2755.         DWORD    pointer to ???
  2756.         WORD    ???
  2757.         WORD    ???
  2758. Return: ???
  2759.     STACK unchanged
  2760. --------b-60----DI050E-----------------------
  2761. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETDIR"
  2762.     DI = 050Eh
  2763.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2764.         WORD    ???
  2765.         DWORD    pointer to ???
  2766.         DWORD    pointer to ???
  2767. Return: ???
  2768.     STACK unchanged
  2769. --------b-60----DI050F-----------------------
  2770. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_SETDIR"
  2771.     DI = 050Fh
  2772.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2773.         DWORD    pointer to ???
  2774.         WORD    ???
  2775. Return: ???
  2776.     STACK unchanged
  2777. --------b-60----DI0510-----------------------
  2778. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_VOLUME"
  2779.     DI = 0510h
  2780.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2781.         DWORD    pointer to ???
  2782.         DWORD    pointer to ???
  2783. Return: ???
  2784.     STACK unchanged
  2785. --------b-60----DI0511-----------------------
  2786. INT 60 u - HP 95LX System Manager - MAKE A SUBDIRECTORY
  2787.     DI = 0511h
  2788.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2789.         DWORD    pointer to ???
  2790.         WORD    ???
  2791.         WORD    ???
  2792. Return: ???
  2793.     STACK unchanged
  2794. SeeAlso: INT 21/AH=39h,INT 60/DI=0512h
  2795. --------b-60----DI0512-----------------------
  2796. INT 60 u - HP 95LX System Manager - REMOVE A SUBDIRECTORY
  2797.     DI = 0512h
  2798.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2799.         DWORD    pointer to ???
  2800.         WORD    ???
  2801.         WORD    ???
  2802. Return: ???
  2803.     STACK unchanged
  2804. SeeAlso: INT 21/AH=3Ah,INT 60/DI=0511h
  2805. --------b-60----DI0513-----------------------
  2806. INT 60 u - HP 95LX System Manager - GET DEFAULT DRIVE
  2807.     DI = 0513h
  2808.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2809.         DWORD    pointer to ??? buffer for current drive
  2810. Return: ???
  2811.     STACK unchanged
  2812. SeeAlso: INT 21/AH=19h,INT 60/DI=0514h
  2813. --------b-60----DI0514-----------------------
  2814. INT 60 u - HP 95LX System Manager - SET DEFAULT DRIVE
  2815.     DI = 0514h
  2816.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2817.         WORD    new drive
  2818. Return: ???
  2819.     STACK unchanged
  2820. SeeAlso: INT 21/AH=0Eh,INT 60/DI=0513h
  2821. --------b-60----DI0515-----------------------
  2822. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_FDATE"
  2823.     DI = 0515h
  2824.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2825.         DWORD    pointer to ???
  2826.         DWORD    pointer to ???
  2827. Return: ???
  2828.     STACK unchanged
  2829. --------b-60----DI0516-----------------------
  2830. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GET_SYSDIR"
  2831.     DI = 0516h
  2832.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2833.         DWORD    pointer to ???
  2834. Return: ???
  2835.     STACK unchanged
  2836. --------b-60----DI0517-----------------------
  2837. INT 60 u - HP 95LX System Manager - GET FILE ATTRIBUTES
  2838.     DI = 0517h
  2839.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2840.         DWORD    pointer to ???
  2841.         WORD    ???
  2842.         WORD    ???
  2843.         DWORD    pointer to ??? buffer for file's attributes???
  2844. Return: ???
  2845.     STACK unchanged
  2846. SeeAlso: INT 21/AX=4300h,INT 60/DI=0518h
  2847. --------b-60----DI0518-----------------------
  2848. INT 60 u - HP 95LX System Manager - SET FILE ATTRIBUTES
  2849.     DI = 0518h
  2850.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2851.         DWORD    pointer to ???
  2852.         WORD    ???
  2853.         WORD    ???
  2854.         WORD    new attributes???
  2855. Return: ???
  2856.     STACK unchanged
  2857. SeeAlso: INT 21/AX=4301h,INT 60/DI=0517h
  2858. --------b-60----DI0519-----------------------
  2859. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COMMON_OPEN"
  2860.     DI = 0519h
  2861.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2862.         DWORD    pointer to ???
  2863.         DWORD    pointer to ???
  2864.         WORD    ???
  2865.         WORD    ???
  2866.         WORD    ???
  2867.         WORD    ???
  2868.         WORD    ???
  2869. Return: ???
  2870.     STACK unchanged
  2871. --------b-60----DI051A-----------------------
  2872. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_COPYDT"
  2873.     DI = 051Ah
  2874.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2875.         DWORD    pointer to ???
  2876.         DWORD    pointer to ???
  2877. Return: ???
  2878.     STACK unchanged
  2879. --------b-60----DI051B-----------------------
  2880. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_GETFDT"
  2881.     DI = 051Bh
  2882.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2883.         DWORD    pointer to ???
  2884.         DWORD    pointer to ???
  2885. Return: ???
  2886.     STACK unchanged
  2887. --------b-60----DI051C-----------------------
  2888. INT 60 u - HP 95LX System Manager - FILE SERVICE "M_PUTFDT"
  2889.     DI = 051Ch
  2890.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2891.         DWORD    pointer to ???
  2892.         WORD    ???
  2893. Return: ???
  2894.     STACK unchanged
  2895. --------b-60----DI0600-----------------------
  2896. INT 60 u - HP 95LX System Manager - PROCESS INITIALIZING
  2897.     DI = 0600h
  2898.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2899. Return: ???
  2900.     STACK unchanged
  2901. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0601h,INT 61"HP 95LX"
  2902. --------b-60----DI0601-----------------------
  2903. INT 60 u - HP 95LX System Manager - PROCESS TERMINATION
  2904.     DI = 0601h
  2905.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2906. Return: never
  2907.     STACK unchanged
  2908. SeeAlso: INT 21/AH=4Ch,INT 2F/AX=1122h,INT 60/DI=0600h
  2909. --------b-60----DI0602-----------------------
  2910. INT 60 u - HP 95LX System Manager - "M_LOCK" - PREVENT TASK SWITCHES
  2911.     DI = 0602h
  2912.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2913. Return: ???
  2914.     STACK unchanged
  2915. SeeAlso: INT 15/AX=101Bh,INT 2F/AX=1681h,INT 60/DI=0603h
  2916. --------b-60----DI0603-----------------------
  2917. INT 60 u - HP 95LX System Manager - "M_UNLOCK" - ALLOW TASK SWITCHES
  2918.     DI = 0603h
  2919.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2920. Return: ???
  2921.     STACK unchanged
  2922. SeeAlso: INT 15/AX=101Ch,INT 2F/AX=1682h,INT 60/DI=0602h
  2923. --------b-60----DI0604-----------------------
  2924. INT 60 u - HP 95LX System Manager - "M_SPAWN"
  2925.     DI = 0604h
  2926.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2927.         DWORD    pointer to ???
  2928.         WORD    ???
  2929.         WORD    ???
  2930.         DWORD    pointer to ???
  2931. Return: ???
  2932.     STACK unchanged
  2933. SeeAlso: INT 21/AH=4Bh
  2934. --------b-60----DI0605-----------------------
  2935. INT 60 u - HP 95LX System Manager - "M_APPCOUNT"
  2936.     DI = 0605h
  2937.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2938. Return: ???
  2939.     STACK unchanged
  2940. --------b-60----DI0606-----------------------
  2941. INT 60 u - HP 95LX System Manager - "M_REBOOT"
  2942.     DI = 0606h
  2943.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2944. Return: ???
  2945.     STACK unchanged
  2946. SeeAlso: INT 14/AH=17h"FOSSIL",INT 19
  2947. --------b-60----DI0607-----------------------
  2948. INT 60 u - HP 95LX System Manager - "M_SPAWNARG"
  2949.     DI = 0607h
  2950.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2951.         DWORD    pointer to ???
  2952.         WORD    ???
  2953.         DWORD    pointer to ???
  2954.         WORD    ???
  2955. Return: ???
  2956.     STACK unchanged
  2957. --------b-60----DI0608-----------------------
  2958. INT 60 u - HP 95LX System Manager - "M_REG_APP_NAME"
  2959.     DI = 0608h
  2960.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2961.         DWORD    pointer to ???
  2962. Return: ???
  2963.     STACK unchanged
  2964. --------b-60----DI0609-----------------------
  2965. INT 60 u - HP 95LX System Manager - "M_APP_NAME"
  2966.     DI = 0609h
  2967.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2968.         DWORD    pointer to ???
  2969. Return: DX:AX -> ???
  2970.     STACK unchanged
  2971. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  2972. --------b-60----DI0700-----------------------
  2973. INT 60 u - HP 95LX System Manager - OPEN CLIPBOARD
  2974.     DI = 0700h
  2975.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2976. Return: ??? = error code (see #2421)
  2977.     ???
  2978.     STACK unchanged
  2979. SeeAlso: INT 60/DI=0701h,INT 60/DI=0702h
  2980.  
  2981. (Table 2421)
  2982. Values for HP 95LX error code:
  2983.  0000h    successful
  2984.  FFF8h    transfer request out of bounds
  2985.  FFF9h    no such representation
  2986.  FFFAh    no representation open
  2987.  FFFBh    a representation is already open
  2988.  FFFCh    representation already exists
  2989.  FFFDh    heap allocation failure
  2990.  FFFEh    clipboard not open
  2991.  FFFFh    clipboard access denied
  2992. --------b-60----DI0701-----------------------
  2993. INT 60 u - HP 95LX System Manager - CLOSE CLIPBOARD
  2994.     DI = 0701h
  2995.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  2996. Return: ???
  2997.     STACK unchanged
  2998. SeeAlso: INT 60/DI=0700h,INT 60/DI=0702h
  2999. --------b-60----DI0702-----------------------
  3000. INT 60 u - HP 95LX System Manager - RESET CLIPBOARD
  3001.     DI = 0702h
  3002.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3003.         DWORD    pointer to ???
  3004. Return: ???
  3005.     STACK unchanged
  3006. SeeAlso: INT 60/DI=0700h
  3007. --------b-60----DI0704-----------------------
  3008. INT 60 u - HP 95LX System Manager - "M_NEW_REP" - START A NEW REPRESENTATION???
  3009.     DI = 0704h
  3010.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3011.         DWORD    pointer to ???
  3012. Return: ???
  3013.     STACK unchanged
  3014. SeeAlso: INT 60/DI=0705h,INT 60/DI=0706h,INT 60/DI=0707h
  3015. --------b-60----DI0705-----------------------
  3016. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_FINI_REP"
  3017.     DI = 0705h
  3018.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3019. Return: ???
  3020.     STACK unchanged
  3021. SeeAlso: INT 60/DI=0704h
  3022. --------b-60----DI0706-----------------------
  3023. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_NAME"
  3024.     DI = 0706h
  3025.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3026.         WORD    ???
  3027.         DWORD    pointer to ???
  3028.         DWORD    pointer to ???
  3029. Return: ???
  3030.     STACK unchanged
  3031. SeeAlso: INT 60/DI=0704h,INT 60/DI=0707h
  3032. --------b-60----DI0707-----------------------
  3033. INT 60 u - HP 95LX System Manager - CLIPBOARD SERVICE "M_REP_INDEX"
  3034.     DI = 0707h
  3035.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3036.         DWORD    pointer to ???
  3037.         DWORD    pointer to ???
  3038.         DWORD    pointer to ???
  3039. Return: ???
  3040.     STACK unchanged
  3041. SeeAlso: INT 60/DI=0704h,INT 60/DI=0706h
  3042. --------b-60----DI0708-----------------------
  3043. INT 60 u - HP 95LX System Manager - WRITE TO CLIPBOARD
  3044.     DI = 0708h
  3045.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3046.         DWORD    pointer to data to be written???
  3047.         WORD    length of data???
  3048. Return: ???
  3049.     STACK unchanged
  3050. SeeAlso: INT 60/DI=0709h
  3051. --------b-60----DI0709-----------------------
  3052. INT 60 u - HP 95LX System Manager - READ FROM CLIPBOARD
  3053.     DI = 0709h
  3054.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3055.         WORD    ???
  3056.         WORD    ???
  3057.         DWORD    pointer to buffer for data???
  3058.         WORD    length of buffer???
  3059. Return: ???
  3060.     STACK unchanged
  3061. SeeAlso: INT 60/DI=0708h
  3062. --------b-60----DI0800-----------------------
  3063. INT 60 u - HP 95LX System Manager - BEEP
  3064.     DI = 0800h
  3065.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3066. Return: ???
  3067.     STACK unchanged
  3068. SeeAlso: INT 60/DI=0801h,INT 60/DI=0802h,INT 60/DI=0803h
  3069. --------b-60----DI0801-----------------------
  3070. INT 60 u - HP 95LX System Manager - SOUND SERVICE "M_THUD"
  3071.     DI = 0801h
  3072.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3073. Return: ???
  3074.     STACK unchanged
  3075. SeeAlso: INT 60/DI=0800h,INT 60/DI=0802h,INT 60/DI=0803h
  3076. --------b-60----DI0802-----------------------
  3077. INT 60 u - HP 95LX System Manager - MAKE A SOUND PATTERN
  3078.     DI = 0802h
  3079.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3080.         WORD    pattern number (00h-06h)
  3081. Return: ???
  3082.     STACK unchanged
  3083. SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0803h
  3084. --------b-60----DI0803-----------------------
  3085. INT 60 u - HP 95LX System Manager - TURN OFF SOUND
  3086.     DI = 0803h
  3087.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3088. Return: ???
  3089.     STACK unchanged
  3090. SeeAlso: INT 60/DI=0800h,INT 60/DI=0801h,INT 60/DI=0802h
  3091. --------b-60----DI0900-----------------------
  3092. INT 60 - HP 95LX System Manager - ALLOCATE REGULAR MEMORY BLOCK
  3093.     DI = 0900h
  3094.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3095.         WORD    size of block in bytes
  3096. Return: AX -> memory block
  3097.     STACK unchanged
  3098. Note:    System Manager-compliant applications are always small-model (64K code,
  3099.       64K data)
  3100. SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0902h,INT 60/DI=0903h
  3101. --------b-60----DI0902-----------------------
  3102. INT 60 u - HP 95LX System Manager - FREE REGULAR MEMORY BLOCK
  3103.     DI = 0902h
  3104.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3105.         WORD    offset of memory block???
  3106. Return: ???
  3107.     STACK unchanged
  3108. Note:    System Manager-compliant applications are always small-model (64K code,
  3109.       64K data)
  3110. SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
  3111. --------b-60----DI0903-----------------------
  3112. INT 60 u - HP 95LX System Manager - ALLOCATE LARGE MEMORY BLOCK
  3113.     DI = 0903h
  3114.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3115.         WORD    size of block in bytes???
  3116. Return: AX -> memory block???
  3117.     STACK unchanged
  3118. SeeAlso: INT 60/DI=0900h,INT 60/DI=0904h
  3119. --------b-60----DI0904-----------------------
  3120. INT 60 u - HP 95LX System Manager - FREE LARGE MEMORY BLOCK
  3121.     DI = 0904h
  3122.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3123.         WORD    segment of memory block???
  3124. Return: AX -> ???
  3125.     STACK unchanged
  3126. SeeAlso: INT 60/DI=0902h,INT 60/DI=0903h
  3127. --------b-60----DI0B00-----------------------
  3128. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DTINFO"
  3129.     DI = 0B00h
  3130.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3131.         DWORD    pointer to ???
  3132. Return: ???
  3133.     STACK unchanged
  3134. --------b-60----DI0B01-----------------------
  3135. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GETDTM"
  3136.     DI = 0B01h
  3137.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3138.         DWORD    pointer to ???
  3139. Return: ???
  3140.     STACK unchanged
  3141. --------b-60----DI0B02-----------------------
  3142. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SETDTM"
  3143.     DI = 0B02h
  3144.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3145.         DWORD    pointer to ???
  3146. Return: ???
  3147.     STACK unchanged
  3148. --------b-60----DI0B03-----------------------
  3149. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_XALARM"
  3150.     DI = 0B03h
  3151.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3152.         WORD    ???
  3153. Return: ???
  3154.     STACK unchanged
  3155. --------b-60----DI0B04-----------------------
  3156. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_ALARM"
  3157.     DI = 0B04h
  3158.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3159.         DWORD    pointer to alarm record??? (see #2422)
  3160.         WORD    ???
  3161. Return: ???
  3162.     STACK unchanged
  3163.  
  3164. Format of HP 95LX alarm record:
  3165. Offset    Size    Description    (Table 2422)
  3166.  00h    BYTE    hour
  3167.  01h    BYTE    minute
  3168.  02h    BYTE    second
  3169.  03h    BYTE    unused padding
  3170.  04h    WORD    rescheduling interval, in seconds
  3171.  06h    BYTE    are seconds significant?
  3172.  07h    BYTE    alarm sound
  3173.  08h 40 BYTEs    message displayed when alarm activates
  3174.  30h    BYTE    task ID of owner
  3175.  31h    BYTE    application's own use for sub-class
  3176.  32h  4 BYTEs    application's own use for private data
  3177. --------b-60----DI0B05-----------------------
  3178. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_SW"
  3179.     DI = 0B05h
  3180.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3181.         DWORD    pointer to ???
  3182. Return: ???
  3183.     STACK unchanged
  3184. --------b-60----DI0B06-----------------------
  3185. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SW"
  3186.     DI = 0B06h
  3187.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3188.         DWORD    pointer to ???
  3189.         DWORD    pointer to ???
  3190.         DWORD    pointer to ???
  3191. Return: ???
  3192.     STACK unchanged
  3193. --------b-60----DI0B07-----------------------
  3194. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_SW"
  3195.     DI = 0B07h
  3196.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3197.         DWORD    pointer to ???
  3198. Return: ???
  3199.     STACK unchanged
  3200. --------b-60----DI0B08-----------------------
  3201. INT 60 u - HP 95LX System Manager - "M_TELLTIME" - DISPLAY TIMESTAMP
  3202.     DI = 0B08h
  3203.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3204.         WORD    timestamp format (see #2423)
  3205.         WORD    row (-3 is topmost, 0 is first non-reserved line)
  3206.         WORD    column
  3207. Return: ???
  3208.     STACK unchanged
  3209.  
  3210. Bitfields for HP 95LX timestamp format:
  3211. Bit(s)    Description    (Table 2423)
  3212.  1-0    timestamp components
  3213.     00 date only
  3214.     01 time only
  3215.     10 date and time
  3216.     11 day and date
  3217.  4    supply am/pm
  3218.  5    supply seconds
  3219.  6    show year
  3220.  7    four-digit year
  3221. --------b-60----DI0B09-----------------------
  3222. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_SETTINGS"
  3223.     DI = 0B09h
  3224.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3225.         DWORD    pointer to ??? (see #2424)
  3226.         DWORD    pointer to ???
  3227. Return: ???
  3228.     STACK unchanged
  3229. SeeAlso: INT 60/DI=0B0Ah,INT 60/DI=0B0Fh
  3230.  
  3231. Format of HP 95LX system settings:
  3232. Offset    Size    Description    (Table 2424)
  3233.  00h    WORD    country code
  3234.  02h    WORD    speaker volume (00h-03h or FFh for off)
  3235.  04h    WORD    contrast level (00h-0Fh)
  3236.  06h    WORD    week start (00h Sunday, 01h Monday)
  3237.  08h    WORD    punctuation format (see #2425)
  3238.  0Ah    WORD    two-character language code (only 5355h = "US" byte-swapped)
  3239.  0Ch    WORD    current date format (see #2426)
  3240.  0Eh    WORD    current time format (see #2427)
  3241.  10h    WORD    collating sequence
  3242.         00h numbers first, 01h letters first, 02h ASCII
  3243.  12h 80 BYTEs    name of picture file
  3244.  62h 30 BYTEs    name
  3245.  80h 30 BYTEs    title
  3246.  9Eh 28 BYTEs    company name
  3247.  BAh    WORD    number of languages
  3248.  BCh  6 BYTEs    available languages
  3249.  C2h 66 BYTEs    language menu
  3250. 104h  2 BYTEs    ASCIZ date separator
  3251. 106h  2 BYTEs    ASCIZ time separator
  3252. 108h    BYTE    date order
  3253. 109h    BYTE    use 24 hour time?
  3254. 10Ah 16 BYTEs    currency string
  3255. 11Ah    WORD    currency string position (00h prefix, 01h suffix)
  3256. 11Ch    WORD    keyboard (see #2428)
  3257. 11Eh    WORD    printer baud rate
  3258.         00h 300, 01h 1200, 02h 2400, 03h 4800, 04h 9600, 05h 19200
  3259. 120h    WORD    printer driver code
  3260.         00h Epson FX80, 01h HP Laserjet, 02h IBM ProPrinter
  3261. 122h    WORD    printer interface (00h COM1, 01h COM2, 02h IR, 03h LPT1)
  3262. 124h    WORD    system manager interrupt (60h by default)
  3263. 126h    WORD    code page (01h CP850, 02h CP437)
  3264. 128h    WORD    active exit key
  3265. 12Ah    WORD    active menu key
  3266. 12Ch    WORD    active CHAR key toggle
  3267. 12Eh  6 BYTEs    alarm
  3268.  
  3269. (Table 2425)
  3270. Values for HP 95LX punctuation format:
  3271.  code    decimal arg    thousands
  3272.  00h    .    ,    ,
  3273.  01h    ,    .    .
  3274.  02h    .    ;    ;
  3275.  03h    ,    ;    .
  3276.  04h    .    ,    " "
  3277.  05h    ,    .    " "
  3278.  06h    .    ;    " "
  3279.  07h    ,    ;    " "
  3280.  
  3281. (Table 2426)
  3282. Values for HP 95LX current date format:
  3283.  00h    dd-mmm-yy
  3284.  01h    dd-mmm
  3285.  02h    mmm-yy
  3286.  03h    mm/dd/yy
  3287.  04h    dd/mm/yy
  3288.  05h    dd.mm.yy
  3289.  06h    yy-mm-dd
  3290.  07h    mm/dd
  3291.  08h    dd/mm
  3292.  09h    dd.mm
  3293.  0Ah    mm-dd
  3294.  
  3295. (Table 2427)
  3296. Values for HP 95LX current time format:
  3297.  00h    HH:MM:SS am/pm
  3298.  01h    HH:MM am/pm
  3299.  02h    HH:MM:SS
  3300.  03h    HH.MM.SS
  3301.  04h    HH,MM,SS
  3302.  05h    HHhMMmSSs
  3303.  06h    HH:MM
  3304.  07h    HH.MM
  3305.  08h    HH,MM
  3306.  09h    HHhMMm
  3307.  
  3308. (Table 2428)
  3309. Values for HP 95LX keyboard layout:
  3310.  0001h    Belgium
  3311.  0002h    French Canadian
  3312.  0004h    Denmark
  3313.  0008h    Finland
  3314.  0010h    French
  3315.  0020h    Finland
  3316.  0040h    Italy
  3317.  0080h    Netherlands
  3318.  0100h    Norway
  3319.  0200h    Portugal
  3320.  0400h    Spain
  3321.  0800h    Sweden
  3322.  1000h    Swiss French
  3323.  2000h    Swiss German
  3324.  4000h    United Kingdom
  3325.  8000h    USA
  3326. --------b-60----DI0B0A-----------------------
  3327. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_SET_SETTINGS"
  3328.     DI = 0B0Ah
  3329.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3330.         DWORD    pointer to ???
  3331.         DWORD    pointer to ???
  3332. Return: ???
  3333.     STACK unchanged
  3334. SeeAlso: INT 60/DI=0B09h
  3335. --------b-60----DI0B0B-----------------------
  3336. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_START_TIMER"
  3337.     DI = 0B0Bh
  3338.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3339.         DWORD    pointer to ???
  3340. Return: ???
  3341.     STACK unchanged
  3342. SeeAlso: INT 60/DI=0B0Ch,INT 60/DI=0B0Dh
  3343. --------b-60----DI0B0C-----------------------
  3344. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_STOP_TIMER"
  3345.     DI = 0B0Ch
  3346.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3347.         DWORD    pointer to ???
  3348. Return: ???
  3349.     STACK unchanged
  3350. SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Dh
  3351. --------b-60----DI0B0D-----------------------
  3352. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_GET_TIMER"
  3353.     DI = 0B0Dh
  3354.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3355.         DWORD    pointer to ???
  3356.         DWORD    pointer to ???
  3357.         DWORD    pointer to ???
  3358. Return: ???
  3359.     STACK unchanged
  3360. SeeAlso: INT 60/DI=0B0Bh,INT 60/DI=0B0Ch
  3361. --------b-60----DI0B0E-----------------------
  3362. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_TELL_ANYTIME"
  3363.     DI = 0B0Eh
  3364.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3365.         WORD    ???
  3366.         WORD    ???
  3367.         WORD    ???
  3368.         DWORD    pointer to ???
  3369.         DWORD    pointer to ???
  3370. Return: DX:AX -> ???
  3371.     STACK unchanged
  3372. --------b-60----DI0B0F-----------------------
  3373. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVCE "M_GET_SETTINGS_ADDR"
  3374.     DI = 0B0Fh
  3375.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3376. Return: DX:AX -> system settings record (see #2424)
  3377.     STACK unchanged
  3378. SeeAlso: INT 60/DI=0B09h
  3379. --------b-60----DI0B10-----------------------
  3380. INT 60 u - HP 95LX System Manager - PARSE DATE SPECIFICATION
  3381.     DI = 0B10h
  3382.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3383.         WORD    ???
  3384.         DWORD    pointer to ???
  3385.         DWORD    pointer to ???
  3386. Return: ???
  3387.     STACK unchanged
  3388. --------b-60----DI0B11-----------------------
  3389. INT 60 u - HP 95LX System Manager - PARSE TIME SPECIFICATION
  3390.     DI = 0B11h
  3391.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3392.         WORD    ???
  3393.         DWORD    pointer to ???
  3394.         DWORD    pointer to ???
  3395. Return: ???
  3396.     STACK unchanged
  3397. --------b-60----DI0B12-----------------------
  3398. INT 60 u - HP 95LX System Manager - SET DATE PARSING RULE
  3399.     DI = 0B12h
  3400.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3401.         WORD    new parsing rule (see #2429)
  3402. Return: ???
  3403.     STACK unchanged
  3404. SeeAlso: INT 60/DI=0B13h
  3405.  
  3406. (Table 2429)
  3407. Values for HP 95LX date parsing rule:
  3408.  01h    day-month-year
  3409.  02h    month-day-year
  3410.  03h    year-month-day
  3411.  04h    "DMYO"
  3412.  05h    "MDYO"
  3413.  OR with 08h to get any year
  3414. --------b-60----DI0B13-----------------------
  3415. INT 60 u - HP 95LX System Manager - SET TIME PARSING RULE
  3416.     DI = 0B13h
  3417.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3418.         WORD    new parsing rule (see #2430)
  3419. Return: ???
  3420.     STACK unchanged
  3421. SeeAlso: INT 60/DI=0B12h
  3422.  
  3423. (Table 2430)
  3424. Values for HP 95LX time parsing rule:
  3425.  01h    HH:MM:SS (am/pm)
  3426.  02h    HH:MM:SS (24hr)
  3427.  03h    HHMM:SS (24hr)
  3428.  04h    HH:MM:SS.hh (24hr)
  3429.  05h    HH:MM (am/pm)
  3430.  06h    HH:MM (24hr)
  3431.  07h    HHMM (24hr)
  3432. --------b-60----DI0B14-----------------------
  3433. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_POST_TIME"
  3434.     DI = 0B14h
  3435.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3436. Return: ???
  3437.     STACK unchanged
  3438. --------b-60----DI0B15-----------------------
  3439. INT 60 u - HP 95LX System Manager - CLOCK/CALENDAR SERVICE "M_DAY_TRIGGER"
  3440.     DI = 0B15h
  3441.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3442.         WORD    ???
  3443. Return: ???
  3444.     STACK unchanged
  3445. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3446. --------b-60----DI0C00-----------------------
  3447. INT 60 u - HP 95LX System Manager - OPEN PRINTER
  3448.     DI = 0C00h
  3449.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3450. Return: ???
  3451.     STACK unchanged
  3452. SeeAlso: INT 60/DI=0C01h,INT 60/DI=0C02h,INT 60/DI=0C03h
  3453. --------b-60----DI0C01-----------------------
  3454. INT 60 u - HP 95LX System Manager - CLOSE PRINTER
  3455.     DI = 0C01h
  3456.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3457. Return: ???
  3458.     STACK unchanged
  3459. Note:    relinquishes control of printer
  3460. SeeAlso: INT 60/DI=0C00h
  3461. --------b-60----DI0C02-----------------------
  3462. INT 60 u - HP 95LX System Manager - WRITE TO PRINTER
  3463.     DI = 0C02h
  3464.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3465.         DWORD    pointer to data to be written
  3466.         WORD    length of data
  3467. Return: ???
  3468.     STACK unchanged
  3469. SeeAlso: INT 60/DI=0C00h
  3470. --------b-60----DI0C03-----------------------
  3471. INT 60 u - HP 95LX System Manager - INITIALIZE PRINTER
  3472.     DI = 0C03h
  3473.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3474. Return: ???
  3475.     STACK unchanged
  3476. SeeAlso: INT 60/DI=0C00h
  3477. --------b-60----DI0C04-----------------------
  3478. INT 60 u - HP 95LX System Manager - "M_TRANS_PRINTER"
  3479.     DI = 0C04h
  3480.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3481.         WORD    ???
  3482.         DWORD    pointer to ???
  3483. Return: ???
  3484.     STACK unchanged
  3485. --------b-60----DI0C05-----------------------
  3486. INT 60 u - HP 95LX System Manager - "M_FALL_PRINTER"
  3487.     DI = 0C05h
  3488.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3489.         WORD    ???
  3490.         DWORD    pointer to ???
  3491. Return: ???
  3492.     STACK unchanged
  3493. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3494. --------b-60----DI0E00-----------------------
  3495. INT 60 u - HP 95LX System Manager - COMMUNICATIONS SERVICE "M_COMM_INIT"
  3496.     DI = 0E00h
  3497.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3498.         DWORD    pointer to ???
  3499. Return: ???
  3500.     STACK unchanged
  3501. SeeAlso: #2431,INT 60/DI=0E01h,INT 60/DI=0E02h
  3502.  
  3503. (Table 2431)
  3504. Values for HP 95LX error code:
  3505.  0000h    successful
  3506.  FFF1h    "E_BUSY"
  3507.  FFF2h    timeout
  3508.  FFF3h    framing error
  3509.  FFF4h    parity error
  3510.  FFF5h    overrun error
  3511.  FFF6h    "E_EMPTY"
  3512.  FFF7h    "E_CONECT"
  3513.  FFF8h    not open
  3514.  FFF9h    out of memory
  3515.  FFFAh    buffer overflow
  3516.  FFFBh    "E_NOFIT"
  3517.  FFFCh    unsupported
  3518.  FFFDh    "E_IVOPR"
  3519.  FFFEh    "E_IVCHN"
  3520.  FFFFh    "E_REOPEN"
  3521. --------b-60----DI0E01-----------------------
  3522. INT 60 u - HP 95LX System Manager - OPEN COMMUNICATIONS CHANNEL
  3523.     DI = 0E01h
  3524.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3525.         DWORD    pointer to WORD buffer for comm channel handle
  3526.         WORD    communications line number (01h-04h)
  3527. Return: ???
  3528.     STACK unchanged
  3529. SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E02h
  3530. --------b-60----DI0E02-----------------------
  3531. INT 60 u - HP 95LX System Manager - CLOSE COMMUNICATIONS CHANNEL
  3532.     DI = 0E02h
  3533.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3534.         WORD    comm channel handle
  3535. Return: ???
  3536.     STACK unchanged
  3537. SeeAlso: INT 60/DI=0E00h,INT 60/DI=0E01h
  3538. --------b-60----DI0E03-----------------------
  3539. INT 60 u - HP 95LX System Manager - "M_COMM_GETMDM"
  3540.     DI = 0E03h
  3541.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3542.         WORD    ???
  3543. Return: ???
  3544.     STACK unchanged
  3545. --------b-60----DI0E04-----------------------
  3546. INT 60 u - HP 95LX System Manager - "M_COMM_ANSWER"
  3547.     DI = 0E04h
  3548.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3549.         WORD    ???
  3550.         WORD    ???
  3551. Return: ???
  3552.     STACK unchanged
  3553. --------b-60----DI0E05-----------------------
  3554. INT 60 u - HP 95LX System Manager - "M_COMM_DIAL"
  3555.     DI = 0E05h
  3556.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3557.         WORD    ???
  3558.         DWORD    pointer to ???
  3559. Return: ???
  3560.     STACK unchanged
  3561. --------b-60----DI0E06-----------------------
  3562. INT 60 u - HP 95LX System Manager - RESET COMMUNICATIONS CHANNEL
  3563.     DI = 0E06h
  3564.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3565.         WORD    comm channel handle
  3566.         WORD    reset options (see #2432)
  3567. Return: ???
  3568.     STACK unchanged
  3569.  
  3570. Bitfields for HP 95LX reset options:
  3571. Bit(s)    Description    (Table 2432)
  3572.  0    reset line
  3573.  1    flush transmit buffer
  3574.  2    flush receive buffer
  3575.  3    reset modem
  3576.  4    reset receiver's ^S state
  3577.  5    reset transmitter's ^S state
  3578. --------b-60----DI0E07-----------------------
  3579. INT 60 u - HP 95LX System Manager - "M_COMM_HANGUP"
  3580.     DI = 0E07h
  3581.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3582.         WORD    ???
  3583. Return: ???
  3584.     STACK unchanged
  3585. --------b-60----DI0E08-----------------------
  3586. INT 60 u - HP 95LX System Manager - SEND DATA OVER COMM CHANNEL
  3587.     DI = 0E08h
  3588.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3589.         WORD    comm channel handle
  3590.         DWORD    pointer to data to be sent
  3591.         WORD    option flags
  3592.             bit 0: send partial buffer
  3593.             bit 1: turn on receiver after sending
  3594.         DWORD    pointer to WORD containing length of data to be sent
  3595. Return: length WORD updated to contain number of bytes actually sent???
  3596.     STACK unchanged
  3597. SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
  3598. --------b-60----DI0E09-----------------------
  3599. INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL TRANSMIT QUEUE
  3600.     DI = 0E09h
  3601.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3602.         WORD    ???
  3603.         DWORD    pointer to ??? WORD
  3604.         DWORD    pointer to ??? WORD
  3605. Return: ???
  3606.     STACK unchanged
  3607. SeeAlso: INT 60/DI=0E0Ah
  3608. --------b-60----DI0E0A-----------------------
  3609. INT 60 u - HP 95LX System Manager - QUERY COMM CHANNEL RECEIVE QUEUE
  3610.     DI = 0E0Ah
  3611.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3612.         WORD    comm channel handle
  3613.         DWORD    pointer to WORD to get receive buffer size
  3614.         DWORD    pointer to WORD to get free bytes in receive buffer
  3615. Return: ???
  3616.     STACK unchanged
  3617. SeeAlso: INT 60/DI=0E09h,INT 60/DI=0E0Bh
  3618. --------b-60----DI0E0B-----------------------
  3619. INT 60 u - HP 95LX System Manager - RECEIVE DATA FROM COMM CHANNEL
  3620.     DI = 0E0Bh
  3621.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3622.         WORD    comm channel handle
  3623.         DWORD    pointer to data buffer
  3624.         DWORD    pointer to WORD (call) length of data buffer
  3625.                     (ret) number of bytes received
  3626. Return: ???
  3627.     STACK unchanged
  3628. SeeAlso: INT 60/DI=0E08h,INT 60/DI=0E0Ah
  3629. --------b-60----DI0E0C-----------------------
  3630. INT 60 u - HP 95LX System Manager - "M_COMM_HAZCMD"
  3631.     DI = 0E0Ch
  3632.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3633.         WORD    ???
  3634.         DWORD    pointer to ???
  3635.         WORD    ???
  3636. Return: ???
  3637.     STACK unchanged
  3638. --------b-60----DI0E0D-----------------------
  3639. INT 60 u - HP 95LX System Manager - "M_COMM_COMAND"
  3640.     DI = 0E0Dh
  3641.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3642.         WORD    ???
  3643.         DWORD    pointer to ???
  3644.         WORD    ???
  3645. Return: ???
  3646.     STACK unchanged
  3647. --------b-60----DI0E0E-----------------------
  3648. INT 60 u - HP 95LX System Manager - "M_COMM_BREAK"
  3649.     DI = 0E0Eh
  3650.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3651.         WORD    ???
  3652.         WORD    ???
  3653. Return: ???
  3654.     STACK unchanged
  3655. --------b-60----DI0E0F-----------------------
  3656. INT 60 u - HP 95LX System Manager - "M_COMM_FRCXON"
  3657.     DI = 0E0Fh
  3658.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3659.         WORD    ???
  3660. Return: ???
  3661.     STACK unchanged
  3662. --------b-60----DI0E10-----------------------
  3663. INT 60 u - HP 95LX System Manager - "M_COMM_FRCXOF"
  3664.     DI = 0E10h
  3665.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3666.         WORD    ???
  3667. Return: ???
  3668.     STACK unchanged
  3669. --------b-60----DI0E11-----------------------
  3670. INT 60 u - HP 95LX System Manager - "M_COMM_SETDTR"
  3671.     DI = 0E11h
  3672.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3673.         WORD    ???
  3674.         WORD    ???
  3675. Return: ???
  3676.     STACK unchanged
  3677. --------b-60----DI0E12-----------------------
  3678. INT 60 u - HP 95LX System Manager - "M_COMM_XMITNG"
  3679.     DI = 0E12h
  3680.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3681.         WORD    ???
  3682. Return: ???
  3683.     STACK unchanged
  3684. --------b-60----DI0E13-----------------------
  3685. INT 60 u - HP 95LX System Manager - "M_COMM_STATUS"
  3686.     DI = 0E13h
  3687.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3688.         WORD    ???
  3689. Return: ???
  3690.     STACK unchanged
  3691. --------b-60----DI0E14-----------------------
  3692. INT 60 u - HP 95LX System Manager - SET COMMUNICATIONS SETTINGS
  3693.     DI = 0E14h
  3694.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3695.         WORD    comm channel handle
  3696.         DWORD    pointer to communications settings (see #2433)
  3697. Return: ???
  3698.     STACK unchanged
  3699. SeeAlso: INT 60/DI=0E15h
  3700.  
  3701. Format of HP 95LX communications settings:
  3702. Offset    Size    Description    (Table 2433)
  3703.  00h    BYTE    dial type ('T' tone, 'P' pulse)
  3704.  01h    WORD    baud rate divisor (115200/baud_rate)
  3705.  03h    BYTE    parity (00h none, 08h odd, 18h even, 28h mark, 38h space)
  3706.  04h    BYTE    stop bits (00h one, 04h two)
  3707.  05h    BYTE    data bits - 5
  3708.  06h    BYTE    software handshake
  3709.         01h none, 02h XOFF/XON, 04h XOFF/any, 08h ENQ/ACK
  3710.  07h    BYTE    infrared (01h off, 02h on)
  3711.  08h    BYTE    duplex (01h half, 02h full)
  3712.  09h    BYTE    echo (01h echo, 02h no echo)
  3713. --------b-60----DI0E15-----------------------
  3714. INT 60 u - HP 95LX System Manager - GET COMMUNICATIONS SETTINGS
  3715.     DI = 0E15h
  3716.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3717.         WORD    ???
  3718.         DWORD    pointer to buffer for settings (see #2433)
  3719. Return: ???
  3720.     STACK unchanged
  3721. SeeAlso: INT 60/DI=0E14h
  3722. --------b-60----DI0E16-----------------------
  3723. INT 60 u - HP 95LX System Manager - "M_COMM_CNFGUR"
  3724.     DI = 0E16h
  3725.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3726.         WORD    ???
  3727.         WORD    ???
  3728.         WORD    ???
  3729.         WORD    ???
  3730.         WORD    ???
  3731. Return: ???
  3732.     STACK unchanged
  3733. --------b-60----DI0E17-----------------------
  3734. INT 60 u - HP 95LX System Manager - "M_COMM_QRYERR"
  3735.     DI = 0E17h
  3736.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3737.         WORD    ???
  3738. Return: ???
  3739.     STACK unchanged
  3740. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3741. --------b-60----DI0F00-----------------------
  3742. INT 60 u - HP 95LX System Manager - "M_ERRMSG"
  3743.     DI = 0F00h
  3744.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3745.         WORD    ???
  3746.         DWORD    pointer to ???
  3747.         WORD    ???
  3748.         DWORD    pointer to ???
  3749. Return: ???
  3750.     STACK unchanged
  3751. --------b-60----DI0F01-----------------------
  3752. INT 60 u - HP 95LX System Manager - DRAW STANDARD TITLE BOX
  3753.     DI = 0F01h
  3754.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3755.         DWORD    pointer to ASCIZ title string
  3756. Return: ???
  3757.     STACK unchanged
  3758. --------b-60----DI0F02-----------------------
  3759. INT 60 u - HP 95LX System Manager - "SHOWNAME"
  3760.     DI = 0F02h
  3761.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3762.         DWORD    pointer to ???
  3763. Return: ???
  3764.     STACK unchanged
  3765. --------b-60----DI0F03-----------------------
  3766. INT 60 u - HP 95LX System Manager - DISPLAY TWO-LINE MESSAGE BOX
  3767.     DI = 0F03h
  3768.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3769.         DWORD    pointer to first line of message
  3770.         WORD    length of first line
  3771.         DWORD    pointer to second line of message
  3772.         WORD    length of second line
  3773. Return: ???
  3774.     STACK unchanged
  3775. SeeAlso: INT 60/DI=0300h,INT 60/DI=0F04h,INT 60/DI=0F09h
  3776. --------b-60----DI0F04-----------------------
  3777. INT 60 u - HP 95LX System Manager - REMOVE MESSAGE BOX
  3778.     DI = 0F04h
  3779.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3780. Return: ???
  3781.     STACK unchanged
  3782. SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F09h
  3783. --------b-60----DI0F05-----------------------
  3784. INT 60 u - HP 95LX System Manager - "M_COM_TIMER_ADDR"
  3785.     DI = 0F05h
  3786.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3787. Return: DX:AX -> ???
  3788.     STACK unchanged
  3789. --------b-60----DI0F06-----------------------
  3790. INT 60 u - HP 95LX System Manager - "M_COM_TIMER_COUNT_ADDR"
  3791.     DI = 0F06h
  3792.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3793. Return: DX:AX -> ???
  3794.     STACK unchanged
  3795. --------b-60----DI0F07-----------------------
  3796. INT 60 u - HP 95LX System Manager - "M_SYS_RSRC_ADDR"
  3797.     DI = 0F07h
  3798.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3799. Return: DX:AX -> ???
  3800.     STACK unchanged
  3801. --------b-60----DI0F08-----------------------
  3802. INT 60 u - HP 95LX System Manager - "M_BIOS_OUTSTR"
  3803.     DI = 0F08h
  3804.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3805.         ???
  3806. Return: ???
  3807.     STACK unchanged
  3808. --------b-60----DI0F09-----------------------
  3809. INT 60 u - HP 95LX System Manager - DISPLAY THREE-LINE MESSAGE BOX
  3810.     DI = 0F09h
  3811.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3812.         DWORD    pointer to first line of message
  3813.         WORD    length of first line
  3814.         DWORD    pointer to second line of message
  3815.         WORD    length of second line
  3816.         DWORD    pointer to third line of message
  3817.         WORD    length of third line
  3818. Return: ???
  3819.     STACK unchanged
  3820. SeeAlso: INT 60/DI=0F03h,INT 60/DI=0F04h
  3821. --------b-60----DI0F0A-----------------------
  3822. INT 60 u - HP 95LX System Manager - DISABLE MACROS
  3823.     DI = 0F0Ah
  3824.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3825. Return: ???
  3826.     STACK unchanged
  3827. SeeAlso: INT 60/DI=0F0Bh
  3828. --------b-60----DI0F0B-----------------------
  3829. INT 60 u - HP 95LX System Manager - ENABLE MACROS
  3830.     DI = 0F0Bh
  3831.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3832. Return: ???
  3833.     STACK unchanged
  3834. SeeAlso: INT 60/DI=0F0Ah
  3835. --------b-60----DI0F0C-----------------------
  3836. INT 60 u - HP 95LX System Manager - "M_DATE_TIME_SEPS"
  3837.     DI = 0F0Ch
  3838.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3839.         ???
  3840. Return: ???
  3841.     STACK unchanged
  3842. --------b-60----DI0F0D-----------------------
  3843. INT 60 u - HP 95LX System Manager - "M_FORM_FT"
  3844.     DI = 0F0Dh
  3845.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3846.         DWORD    pointer to ???
  3847. Return: DX:AX -> ???
  3848.     STACK unchanged
  3849. --------b-60----DI0F0E-----------------------
  3850. INT 60 u - HP 95LX System Manager - "M_RAM_IV_INFO"
  3851.     DI = 0F0Eh
  3852.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3853.         DWORD    pointer to ???
  3854. Return: DX:AX -> ???
  3855.     STACK unchanged
  3856. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3857. --------b-60----DI1005-----------------------
  3858. INT 60 u - HP 95LX System Manager - "M_DIRTY_SYNC" - FORCE SCREEN UPDATE
  3859.     DI = 1005h
  3860.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3861. Return: ???
  3862.     STACK unchanged
  3863. SeeAlso: INT 10/AH=FFh,INT 60/DI=0300h,INT 60/DI=0301h
  3864. --------b-60----DI1200-----------------------
  3865. INT 60 u - HP 95LX System Manager - RESOURCE SERVICE "MAP_RESOURCE_FILE"
  3866.     DI = 1200h
  3867.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3868.         DWORD    pointer to ???
  3869. Return: ???
  3870.     STACK unchanged
  3871. --------b-60----DI1201-----------------------
  3872. INT 60 u - HP 95LX System Manager - "GET_RESOURCE_PTR"
  3873.     DI = 1201h
  3874.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3875.         WORD    ???
  3876. Return: DX:AX -> ???
  3877.     STACK unchanged
  3878. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3879. --------b-60----DI1202-----------------------
  3880. INT 60 u - HP 95LX System Manager - "GET_RSRC_TAB_PTR"
  3881.     DI = 1202h
  3882.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3883. Return: DX:AX -> ???
  3884.     STACK unchanged
  3885. --------b-60----DI1203-----------------------
  3886. INT 60 u - HP 95LX System Manager - "INIT_SYSMGR_RSRCS"
  3887.     DI = 1203h
  3888.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3889. Return: ???
  3890.     STACK unchanged
  3891. --------b-60----DI1300-----------------------
  3892. INT 60 u - HP 95LX System Manager - INITIALIZE HELP SYSTEM
  3893.     DI = 1300h
  3894.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3895.         DWORD    pointer to ???
  3896.         DWORD    pointer to ???
  3897.         WORD    ???
  3898. Return: ???
  3899.     STACK unchanged
  3900. --------b-60----DI1301-----------------------
  3901. INT 60 u - HP 95LX System Manager - DISPLAY HELP
  3902.     DI = 1301h
  3903.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3904.         DWORD    pointer to ???
  3905. Return: ???
  3906.     STACK unchanged
  3907. --------b-60----DI1302-----------------------
  3908. INT 60 u - HP 95LX System Manager - "M_HELP_KEY"
  3909.     DI = 1302h
  3910.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3911.         DWORD    pointer to ???
  3912.         WORD    ???
  3913. Return: ???
  3914.     STACK unchanged
  3915. --------b-60----DI1303-----------------------
  3916. INT 60 u - HP 95LX System Manager - "M_HELP_TERM"
  3917.     DI = 1303h
  3918.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3919.         DWORD    pointer to ???
  3920. Return: ???
  3921.     STACK unchanged
  3922. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3923. --------b-60----DI1400-----------------------
  3924. INT 60 u - HP 95LX System Manager - "M_ColInit"
  3925.     DI = 1400h
  3926.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3927. Return: AX = ???
  3928.     STACK unchanged
  3929. --------b-60----DI1401-----------------------
  3930. INT 60 u - HP 95LX System Manager - "M_ColCpStr"
  3931.     DI = 1401h
  3932.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3933.         DWORD    pointer to ???
  3934.         WORD    ???
  3935.         DWORD    pointer to ???
  3936.         WORD    ???
  3937. Return: ???
  3938.     STACK unchanged
  3939. --------b-60----DI1402-----------------------
  3940. INT 60 u - HP 95LX System Manager - "M_ColLicsStr"
  3941.     DI = 1402h
  3942.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3943.         ???
  3944. Return: ???
  3945.     STACK unchanged
  3946. --------b-60----DI1403-----------------------
  3947. INT 60 u - HP 95LX System Manager - "M_ColLicsChar"
  3948.     DI = 1403h
  3949.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3950.         ???
  3951. Return: ???
  3952.     STACK unchanged
  3953. --------b-60----DI1404-----------------------
  3954. INT 60 u - HP 95LX System Manager - "M_ColToLower"
  3955.     DI = 1404h
  3956.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3957.         DWORD    pointer to ???
  3958.         WORD    ???
  3959. Return: ???
  3960.     STACK unchanged
  3961. --------b-60----DI1405-----------------------
  3962. INT 60 u - HP 95LX System Manager - "M_ColCpSearch"
  3963.     DI = 1405h
  3964.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3965.         DWORD    pointer to ???
  3966.         WORD    ???
  3967.         DWORD    pointer to ???
  3968.         WORD    ???
  3969.         WORD    ???
  3970. Return: ???
  3971.     STACK unchanged
  3972. --------b-60----DI1406-----------------------
  3973. INT 60 u - HP 95LX System Manager - "M_ColToUpper"
  3974.     DI = 1406h
  3975.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3976.         DWORD    pointer to ???
  3977.         WORD    ???
  3978. Return: ???
  3979.     STACK unchanged
  3980. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  3981. --------b-60----DI1500-----------------------
  3982. INT 60 u - HP 95LX System Manager - "GrDispInit"
  3983.     DI = 1500h
  3984.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3985.         ???
  3986. Return: ???
  3987.     STACK unchanged
  3988. --------b-60----DI1501-----------------------
  3989. INT 60 u - HP 95LX System Manager - "GrDispClear"
  3990.     DI = 1501h
  3991.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3992.         ???
  3993. Return: ???
  3994.     STACK unchanged
  3995. --------b-60----DI1502-----------------------
  3996. INT 60 u - HP 95LX System Manager - "GrDispDot"
  3997.     DI = 1502h
  3998.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  3999.         ???
  4000. Return: ???
  4001.     STACK unchanged
  4002. --------b-60----DI1503-----------------------
  4003. INT 60 u - HP 95LX System Manager - "GrDispDraw"
  4004.     DI = 1503h
  4005.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4006.         ???
  4007. Return: ???
  4008.     STACK unchanged
  4009. --------b-60----DI1504-----------------------
  4010. INT 60 u - HP 95LX System Manager - "GrDispFill"
  4011.     DI = 1504h
  4012.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4013.         ???
  4014. Return: ???
  4015.     STACK unchanged
  4016. --------b-60----DI1505-----------------------
  4017. INT 60 u - HP 95LX System Manager - "GrDispRead"
  4018.     DI = 1505h
  4019.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4020.         ???
  4021. Return: ???
  4022.     STACK unchanged
  4023. --------b-60----DI1506-----------------------
  4024. INT 60 u - HP 95LX System Manager - "GrDispString"
  4025.     DI = 1506h
  4026.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4027.         ???
  4028. Return: ???
  4029.     STACK unchanged
  4030. --------b-60----DI1507-----------------------
  4031. INT 60 u - HP 95LX System Manager - "GrDispPan"
  4032.     DI = 1507h
  4033.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4034.         ???
  4035. Return: ???
  4036.     STACK unchanged
  4037. --------b-60----DI1508-----------------------
  4038. INT 60 u - HP 95LX System Manager - "GrDispZoom"
  4039.     DI = 1508h
  4040.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4041.         ???
  4042. Return: ???
  4043.     STACK unchanged
  4044. --------b-60----DI1509-----------------------
  4045. INT 60 u - HP 95LX System Manager - "GrDispSave"
  4046.     DI = 1509h
  4047.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4048.         ???
  4049. Return: ???
  4050.     STACK unchanged
  4051. --------b-60----DI150A-----------------------
  4052. INT 60 u - HP 95LX System Manager - "GrDispRestore"
  4053.     DI = 150Ah
  4054.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4055.         ???
  4056. Return: ???
  4057.     STACK unchanged
  4058. --------b-60----DI150B-----------------------
  4059. INT 60 u - HP 95LX System Manager - "GrDispCorner"
  4060.     DI = 150Bh
  4061.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4062.         ???
  4063. Return: ???
  4064.     STACK unchanged
  4065. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  4066. --------b-60----DI1604-----------------------
  4067. INT 60 u - HP 95LX System Manager - "CP_TO_LICS"
  4068.     DI = 1604h
  4069.     STACK:    2 WORDs unused dummies (for calls from high level languages)
  4070.         ???
  4071. Return: ???
  4072.     STACK unchanged
  4073. SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
  4074. --------G-6000-------------------------------
  4075. INT 60 - SYS_PROF.EXE - PROFILER STATUS
  4076.     AH = 00h
  4077. Return: AX = 0000h    profiling is off
  4078.         otherwise profiling is on
  4079. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  4080.       Issue 47
  4081. SeeAlso: AH=01h"SYS_PROF",02h"SYS_PROF"
  4082. --------G-6000-------------------------------
  4083. INT 60 - MDEBUG - GET STATUS
  4084.     AH = 00h
  4085.     DS:SI -> password or a null byte
  4086. Return: AX = return code
  4087.         FFFEh password is invalid
  4088.         FFFDh display mode is invalid
  4089.         else successful
  4090.         ES = value of the monitor register SE
  4091.         DI = value of the monitor register OF
  4092.         CH = monitor color
  4093.         CL = interpreter color
  4094.         BH = monitor start line
  4095.         BL = interpreter start line
  4096.         AH = makecode of the hotkey
  4097.         AL = ASCII code of the hotkey
  4098.         DL = status of special keys (only SHIFT, ALT, CTRL) for the
  4099.               hotkey (coded as for the keyboard flag at 0040h:0017h)
  4100.         DH = basic process number for the communication with drivers
  4101.               process number for the display driver, DH+1 = process
  4102.               number for the command driver(s)
  4103.     DS:SI -> MDEBUG identification table (see #2434)
  4104. Program: MDEBUG is a shareware memory-resident debugging tool by Bernd
  4105.       Schemmer, including a memory monitor, an interpreter, and a
  4106.       disassembler
  4107. Notes:    MDEBUG uses INT 60 by default, but may be directed to any of INT 60
  4108.       through INT 67; the interrupt handler is preceded by the signature
  4109.       "USERINT" and is not chained
  4110.     if DS:SI points at a null byte, MDEBUG will prompt for a password if
  4111.       passwords are active; enough stack space must be provided for an
  4112.       INT 10h call (which MDEBUG uses while prompting for the password)
  4113. SeeAlso: AH=02h"MDEBUG"
  4114. Index:    hotkeys;MDEBUG
  4115.  
  4116. Format of MDEBUG identification table:
  4117. Offset    Size    Description    (Table 2434)
  4118.  -2    WORD    entry offset
  4119.  00h    WORD    CS of MDEBUG
  4120.  02h    DWORD    old INT 08h vector
  4121.  06h    DWORD    old INT 09h vector
  4122.  0Ah    DWORD    address INT 16h routine used by MDEBUG
  4123.  0Eh    BYTE    length of version string
  4124.  0Fh  N BYTEs    version string
  4125. --------N-600000-----------------------------
  4126. INT 60 - RIFS - CLIENT - INSTALLATION CHECK
  4127.     AX = 0000h
  4128. Return: AX = 1234h if installed
  4129.     CF clear
  4130. Program: RIFS is the Remote Installable File System by "kyle"
  4131. Range:    INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
  4132. Note:    the installation check consists of testing for the signature "RIFS"
  4133.       immediately preceding the interrupt handler
  4134. SeeAlso: AX=0001h,AX=0005h,AX=0007h,AX=0008h,INT 2F/AX=56000h
  4135. --------N-600001-----------------------------
  4136. INT 60 - RIFS - CLIENT - UNINSTALL
  4137.     AX = 0001h
  4138. Return: CF clear if successful
  4139. SeeAlso: AX=0000h,AX=0009h
  4140. --------N-600002-----------------------------
  4141. INT 60 - RIFS - CLIENT - REMAP DRIVE
  4142.     AX = 0002h
  4143.     BH = local drive number
  4144.     BL = remote drive number
  4145. Return: CF clear if successful
  4146.     CF set on error
  4147. SeeAlso: AX=0000h,AX=0003h,AX=0004h,INT 21/AX=5F03h,INT 21/AX=5F05h"STARLITE"
  4148. --------N-600003-----------------------------
  4149. INT 60 - RIFS - CLIENT - UNMAP DRIVE
  4150.     AX = 0003h
  4151.     BL = drive to unmap
  4152. Return: CF clear if successful
  4153.     CF set on error
  4154. SeeAlso: AX=0000h,AX=0002h,AX=0004h,INT 21/AX=5F04h,INT 21/AX=5F06h"STARLITE"
  4155. --------N-600004-----------------------------
  4156. INT 60 - RIFS - CLIENT - UNMAP ALL DRIVES
  4157.     AX = 0004h
  4158. Return: CF clear if successful
  4159.     CF set on error
  4160. SeeAlso: AX=0000h,AX=0002h,AX=0003h
  4161. --------N-600005-----------------------------
  4162. INT 60 - RIFS - CLIENT - GET TRANSLATION TABLE
  4163.     AX = 0005h
  4164. Return: CF clear if successful
  4165.         ES:BX -> translation table
  4166.     CF set on error
  4167. SeeAlso: AX=0000h,AX=0006h,AX=0007h
  4168. --------N-600006-----------------------------
  4169. INT 60 - RIFS - CLIENT - GET STATISTICS TABLE
  4170.     AX = 0006h
  4171. Return: CF clear if successful
  4172.         ES:BX -> statistics table
  4173.     CF set on error
  4174. SeeAlso: AX=0000h,AX=0005h,AX=0007h,AX=000Ah
  4175. --------N-600007-----------------------------
  4176. INT 60 - RIFS - CLIENT - GET PORT TRANSLATION TABLE
  4177.     AX = 0007h
  4178. Return: CF clear if successful
  4179.         CX = number of entries
  4180.         ES:BX -> port mapping table
  4181.     CF set on error
  4182. SeeAlso: AX=0000h,AX=0005h
  4183. --------N-600008-----------------------------
  4184. INT 60 - RIFS - SERVER - INSTALLATION CHECK
  4185.     AX = 0008h
  4186. Return: CF clear if successful
  4187.     CF set on error
  4188. Range:    INT 60 to INT 66 and INT 18,selected by scanning for 0000h:0000h vector
  4189. Note:    the installation check consists of testing for the signature "RIFS"
  4190.       immediately preceding the interrupt handler
  4191. SeeAlso: AX=0000h,AX=0009h,AX=000Ah,AX=000Bh
  4192. --------N-600009-----------------------------
  4193. INT 60 - RIFS - SERVER - UNINSTALL
  4194.     AX = 0009h
  4195. Return: CF clear if successful
  4196.     CF set on error
  4197. SeeAlso: AX=0001h,AX=0008h
  4198. --------N-60000A-----------------------------
  4199. INT 60 - RIFS - SERVER - GET STATISTICS TABLE
  4200.     AX = 000Ah
  4201. Return: CF clear if successful
  4202.         ES:BX -> statistics table
  4203.     CF set on error
  4204. SeeAlso: AX=0006h,AX=0008h,AX=0009h,AX=000Bh
  4205. --------N-60000B-----------------------------
  4206. INT 60 - RIFS - SERVER - RESET
  4207.     AX = 000Bh
  4208. Return: CF clear if successful
  4209.     CF set on error
  4210. Note:    closes all open files
  4211. SeeAlso: AX=0008h,AX=0009h
  4212. --------G-6001-------------------------------
  4213. INT 60 - MDEBUG - GET ADDRESS OF THE HELP REGISTERS
  4214.     AH = 01h
  4215.     DS:SI -> password or a null byte
  4216. Return: AX = return code
  4217.         FFFEh password is invalid
  4218.         FFFDh display mode is invalid
  4219.         else successful
  4220.         ES:DI point to the help registers of MDEBUG
  4221.            ES:DI-02h  -> R0 (WORD)
  4222.            ES:DI      -> R1 (WORD)
  4223.            ES:DI+02h  -> R2 (WORD)
  4224.            ES:DI+04h  -> R3 (WORD)
  4225.            ...
  4226.            ES:DI+0Eh  -> R8 (WORD)
  4227. --------G-6001-------------------------------
  4228. INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
  4229.     AH = 01h
  4230. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  4231.       Issue 47
  4232. SeeAlso: AH=00h"SYS_PROF",02h"SYS_PROF"
  4233. --------N-6001FF-----------------------------
  4234. INT 60 - FTP Packet Driver - BASIC FUNC - GET DRIVER INFO
  4235.     AX = 01FFh
  4236.     BX = handle returned by function 02h
  4237. Return: CF set on error
  4238.         DH = error code (see #2435)
  4239.     CF clear if successful
  4240.         BX = version
  4241.         CH = network interface class (see #2436)
  4242.         DX = interface type (see #2436)
  4243.         CL = number
  4244.         DS:SI -> name
  4245.         AL = driver functions supported
  4246.         01h basic
  4247.         02h basic and extended
  4248.         05h basic and high-performance
  4249.         06h basic, high-performance, and extended
  4250.         FFh not installed
  4251. Note:    the handle in BX is optional for drivers written to v1.07 or later of
  4252.       the packet driver specification
  4253.  
  4254. (Table 2435)
  4255. Values for Packet Driver error code:
  4256.  01h "BAD_HANDLE"    invalid handle number
  4257.  02h "NO_CLASS"        no interfaces of the specified class found
  4258.  03h "NO_TYPE"        no interfaces of the specified type found
  4259.  04h "NO_NUMBER"    no interfaces of the specified number found
  4260.  05h "BAD_TYPE"        bad packet type
  4261.  06h "NO_MULTICAST"    interface does not support multicast messages
  4262.  07h "CANT_TERMINATE"    this packet driver cannot terminate
  4263.  08h "BAD_MODE"        invalid receiver mode
  4264.  09h "NO_SPACE"        insufficient space
  4265.  0Ah "TYPE_INUSE"    type accessed but never released
  4266.  0Bh "BAD_COMMAND"    bad command
  4267.  0Ch "CANT_SEND"    packet could not be sent
  4268.  0Dh "CANT_SET"        hardware address could not be changed
  4269.  0Eh "BAD_ADDRESS"    hardware address has a bad length or format
  4270.  0Fh "CANT_RESET"    could not reset interface
  4271.  
  4272. (Table 2436)
  4273. Values for Packet Driver network interface classes/types:
  4274.     Class 01h  Ethernet/IEEE 802.3
  4275.     01h 3COM 3C500/3C501
  4276.     02h 3COM 3C505
  4277.     03h MICOM-Interlan NI5010
  4278.     04h BICC Data Networks 4110
  4279.     05h BICC Data Networks 4117
  4280.     06h MICOM-Interlan NP600
  4281.     08h Ungermann-Bass PC-NIC
  4282.     09h Univation NC-516
  4283.     0Ah TRW PC-2000
  4284.     0Bh MICOM-Interlan NI5210
  4285.     0Ch 3COM 3C503
  4286.     0Dh 3COM 3C523
  4287.     0Eh Western Digital WD8003
  4288.     0Fh Spider Systems S4
  4289.     10h Torus Frame Level
  4290.     11h 10Net Communications
  4291.     12h Gateway PC-bus
  4292.     13h Gateway AT-bus
  4293.     14h Gateway MCA-bus
  4294.     15h IMC PCnic
  4295.     16h IMC PCnic II
  4296.     17h IMC PCnic 8-bit
  4297.     18h Tigan Communications
  4298.     19h Micromatic Research
  4299.     1Ah Clarkson "Multiplexor"
  4300.     1Bh D-Link 8-bit
  4301.     1Ch D-Link 16-bit
  4302.     1Dh D-Link PS/2
  4303.     1Eh Research Machines 8
  4304.     1Fh Research Machines 16
  4305.     20h Research Machines MCA
  4306.     21h Radix Microsystems EXM1 16-bit
  4307.     22h Interlan Ni9210
  4308.     23h Interlan Ni6510
  4309.     24h Vestra LANMASTER 16-bit
  4310.     25h Vestra LANMASTER 8-bit
  4311.     26h Allied Telesis PC/XT/AT
  4312.     27h Allied Telesis NEC PC-98
  4313.     28h Allied Telesis Fujitsu FMR
  4314.     29h Ungermann-Bass NIC/PS2
  4315.     2Ah Tiara LANCard/E AT
  4316.     2Bh Tiara LANCard/E MC
  4317.     2Ch Tiara LANCard/E TP
  4318.     2Dh Spider Communications SpiderComm 8
  4319.     2Eh Spider Communications SpiderComm 16
  4320.     2Fh AT&T Starlan NAU
  4321.     30h AT&T Starlan-10 NAU
  4322.     31h AT&T Ethernet NAU
  4323.     32h Intel smart card
  4324.     33h Xircom Packet Adapter
  4325.     34h Aquila Ethernet
  4326.     35h Novell NE1000
  4327.     36h Novell NE2000
  4328.     37h SMC PC-510
  4329.     38h AT&T Fiber NAU
  4330.     39h NDIS to Packet Driver adapter
  4331.     3Ah Racal-InterLan ES3210
  4332.     3Bh General Systems ISDN simulated Ethernet
  4333.     3Ch Hewlett-Packard
  4334.     3Dh IMC EtherNic-8
  4335.     3Eh IMC EtherNic-16
  4336.     3Fh IMC EtherNic-MCA
  4337.     40h NetWorth EtherNext
  4338.     41h Dataco Scanet
  4339.     42h DEC DEPCA
  4340.     43h C-Net
  4341.     44h Gandalf LANLine
  4342.     45h Apricot built-in
  4343.     46h David Systems Ether-T
  4344.     47h ODI to Packet Driver adapter (see also AX=5100h)
  4345.     48h AMD Am21110-16
  4346.     49h Intel ICD Network controller family
  4347.     4Ah Intel ICD PCL2
  4348.     4Bh Intel ICD PCL2A
  4349.     4Ch AT&T LANPacer
  4350.     4Dh AT&T LANPacer+
  4351.     4Eh AT&T EVB
  4352.     4Fh AT&T StarStation
  4353.     50h SLIP simulated ethernet
  4354.     51h Racal-Interlan NIA310
  4355.     52h Racal-Interlan NISE
  4356.     53h Racal-Interlan NISE30
  4357.     54h Racal-Interlan NI6610
  4358.     55h Ethernet over IP/UDP
  4359.     56h ICL EtherTeam 16
  4360.     57h David Systems
  4361.     58h NCR WaveLAN
  4362.     59h Thomas Contrad TC5045
  4363.     5Ah Russ Nelson's Parallel Port driver
  4364.     5Bh Intell EtherExpress 16
  4365.     5Ch IBMTOKEN
  4366.     5Dh Zenith Z-Note
  4367.     5Eh 3Com 3C509
  4368.     5Fh Mylex LNE390
  4369.     60h Madge Smart Ringnode
  4370.     61h Novell NE2100
  4371.     62h Allied Telesis 1500
  4372.     63h Allied Telesis 1700
  4373.     64h Fujitsu EtherCoupler
  4374.     Class 02h  ProNET-10
  4375.     01h Proteon p1300
  4376.     02h Proteon p1800
  4377.     Class 03h  IEEE 802.5/ProNet-4 (without expanded RIFs)
  4378.     01h IBM Token-Ring Adapter
  4379.     02h Proteon p1340
  4380.     03h Proteon p1344
  4381.     04h Gateway PC-bus
  4382.     05h Gateway AT-bus
  4383.     06h Gateway MCA-bus
  4384.     07h Madge board
  4385.     39h NDIS to Packet Driver adapter
  4386.     47h ODI to Packet Driver adapter
  4387.     Class 04h  Omninet
  4388.     Class 05h  Appletalk
  4389.     01h ATALK.SYS adapter
  4390.     Class 06h  Serial Line
  4391.     01h Clarkson 8250-SLIP
  4392.     02h Clarkson "Multiplexor"
  4393.     03h Eicon Technologies
  4394.     Class 07h  StarLAN (subsumed by Ethernet class)
  4395.     Class 08h  ARCnet
  4396.     01h Datapoint RIM
  4397.     Class 09h  AX.25
  4398.     01h Ottawa PI card
  4399.     02h Eicon Technologies
  4400.     Class 0Ah  KISS
  4401.     Class 0Bh  IEEE 802.3 with 802.2 headers
  4402.     types same as for class 01h
  4403.     Class 0Ch  FDDI with 802.2 headers
  4404.     01h Western Digital
  4405.     02h Frontier Technology
  4406.     Class 0Dh  Internet X.25
  4407.     01h Western Digital
  4408.     02h Frontier Technology
  4409.     03h Emerging Technologies
  4410.     04h The Software Forge
  4411.     05h Link Data Intelligent X.25
  4412.     06h Eicon Technologies
  4413.     Class 0Eh  N.T. LANSTAR (encapsulating DIX Ethernet)
  4414.     01h NT LANSTAR/8
  4415.     02h NT LANSTAR/MC
  4416.     Class 0Fh  SLFP (MIT serial specification)
  4417.     01h MERIT
  4418.     Class 10h  PPP (Point-to-Point Protocol)
  4419.     01h 8250/16550 UART
  4420.     02h Niwot Networks synch
  4421.     03h Eicon Technologies
  4422.     Class 11h  802.5 with expanded RIFs
  4423.     types same as for class 3
  4424.     Class 12h  reserved for LCP/NCPs
  4425. Note: class and type numbers are cleared through FTP Software
  4426. --------G-6002-------------------------------
  4427. INT 60 - MDEBUG - SET STATUS
  4428.     AH = 02h
  4429.     DS:SI -> password or a null byte
  4430.     ES = new value for the register SE
  4431.     DI = new value for the register OF
  4432.     CH = new monitor color if nonzero
  4433.     CL = new interpreter color if nonzero
  4434.     BH = new monitor start line if nonzero
  4435.     BL = new interpreter start line if nonzero
  4436.     AL = new ASCII code for the hotkey ('A'..'Z', 'a'..'z') if nonzero
  4437.     DL = new status of the special keys (SHIFT, ALT, CTRL) for the hotkey
  4438.           if nonzero
  4439.     DH = if nonzero, new basic process number for communication with the
  4440.           drivers (DH = multiplex number for the display driver,
  4441.           DH+1 = multiplex number for the command driver or drivers)
  4442. Return: AX = return code
  4443.         FFFFh call not allowed
  4444.         FFFEh password is invalid
  4445.         FFFDh display mode is invalid
  4446.         0000h successful, status changed
  4447.         else AL = error reasons (see #2437)
  4448. Note:    the values of the registers SE and OF are always changed, the other
  4449.       values are only changed if they are valid
  4450. SeeAlso: AH=00h"MDEBUG"
  4451. Index:    hotkeys;MDEBUG
  4452.  
  4453. Bitfields for MDEBUG error reasons:
  4454. Bit(s)    Description    (Table 2437)
  4455.  0    invalid monitor start line
  4456.  1    invalid interpreter start line
  4457.  2    invalid hotkey
  4458.  3    invalid process number
  4459.  4-7    reserved
  4460. --------N-6002-------------------------------
  4461. INT 60 - FTP Packet Driver - BASIC FUNC - ACCESS TYPE
  4462.     AH = 02h
  4463.     AL = interface class
  4464.     BX = interface type
  4465.     DL = interface number
  4466.     DS:SI -> type
  4467.     CX = length of type (0000h for all packets)
  4468.     ES:DI -> receiver function (see #2438)
  4469. Return: CF set on error
  4470.         DH = error code (see #2435)
  4471.     CF clear if successful
  4472.         AX = handle
  4473. SeeAlso: AH=03h"FTP"
  4474.  
  4475. (Table 2438)
  4476. Values packet driver receiver is called with when a packet is received:
  4477.     AX = subfunction
  4478.         00h get packet buffer
  4479.         CX = buffer length
  4480.         DX = lookahead length (v1.10+)
  4481.         DS:SI -> lookahead buffer if DX nonzero (v1.10+)
  4482.         DI = error flags (class dependent) (v1.10+)
  4483.         Return: ES:DI -> packet buffer
  4484.                 0000h:0000h means throw away packet
  4485.             CX = size of buffer (v1.10+), may be smaller than
  4486.                   incoming data
  4487.         01h copy completed
  4488.         DS:SI -> buffer
  4489.         CX = bytes actually copied (v1.10+)
  4490.     BX = handle
  4491. --------G-6002-------------------------------
  4492. INT 60 - SYS_PROF.EXE - TURN PROFILING ON
  4493.     AH = 02h
  4494. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  4495.       Issue 47
  4496. SeeAlso: AH=00h"SYS_PROF",01h"SYS_PROF"
  4497. --------G-6003-------------------------------
  4498. INT 60 - MDEBUG - POP UP
  4499.     AH = 03h
  4500.     DS:SI -> password or a null byte
  4501.     ES -> new value for the register SE
  4502.     DI -> new value for the register OF
  4503. Return: AX = return code (see #2439)
  4504. SeeAlso: AH=04h"MDEBUG"
  4505.  
  4506. (Table 2439)
  4507. Values for MDEBUG return code:
  4508.  FFFFh    call not allowed
  4509.  FFFEh    password is invalid
  4510.  FFFDh    display mode is invalid
  4511.  else    successful
  4512. --------N-6003-------------------------------
  4513. INT 60 - FTP Packet Driver - BASIC FUNC - RELEASE TYPE
  4514.     AH = 03h
  4515.     BX = handle
  4516. Return: CF set on error
  4517.        DH = error code (see #2435)
  4518.     CF clear if successful
  4519. SeeAlso: AH=02h"FTP"
  4520. --------G-6003-------------------------------
  4521. INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
  4522.     AH = 03h
  4523. Return: ES:BX -> profiling table
  4524. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  4525.       Issue 47
  4526. SeeAlso: AH=04h"SYS_PROF"
  4527. --------N-6004-------------------------------
  4528. INT 60 - FTP Packet Driver - BASIC FUNC - SEND PACKET
  4529.     AH = 04h
  4530.     DS:SI -> buffer
  4531.     CX = length
  4532. Return: CF set on error
  4533.         DH = error code (see #2435)
  4534.     CF clear if successful
  4535. Note:    the buffer may be modified immediately upon return from this call
  4536. SeeAlso: AH=0Bh
  4537. --------G-6004-------------------------------
  4538. INT 60 - MDEBUG - POP UP
  4539.     AH = 04h
  4540.     DS:SI -> password or a null byte
  4541. Return: AX = return code (see #2439)
  4542. SeeAlso: AH=03h"MDEBUG",AH=07h"MDEBUG"
  4543. --------G-6004-------------------------------
  4544. INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
  4545.     AH = 04h
  4546. Note:    SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia
  4547.       Issue 47
  4548. SeeAlso: AH=03h"SYS_PROF"
  4549. --------N-6005-------------------------------
  4550. INT 60 - FTP Packet Driver - BASIC FUNC - TERMINATE DRIVER FOR HANDLE
  4551.     AH = 05h
  4552.     BX = handle (optional for v1.10+)
  4553. Return: CF set on error
  4554.        DH = error code (see #2435)
  4555.     CF clear if successful
  4556. --------G-6005-------------------------------
  4557. INT 60 - MDEBUG - GET AND SET MDEBUG FLAGS
  4558.     AH = 05h
  4559.     DS:SI -> password or a null byte
  4560.     BL = new value for the semaphor of MDEBUG
  4561.          00h  enable popup of MDEBUG
  4562.          else disable popup of MDEBUG
  4563. Return: AX = return code
  4564.         FFFEh password is invalid
  4565.         FFFDh display mode is invalid
  4566.         else successful
  4567.         BL = old value of the semaphor of MDEBUG
  4568.         BH = old value of the INT 08h semaphor
  4569.             (this semaphor is always reset after this function)
  4570. --------N-6006-------------------------------
  4571. INT 60 - FTP Packet Driver - BASIC FUNC - GET ADDRESS
  4572.     AH = 06h
  4573.     BX = handle (optional for v1.10+)
  4574.     ES:DI -> buffer
  4575.     CX = length
  4576. Return: CF set on error
  4577.         DH = error code (see #2435)
  4578.     CF clear if successful
  4579.         CX = length
  4580. Note:    copies the local net address associated with the handle into the buffer
  4581. --------G-6006-------------------------------
  4582. INT 60 - MDEBUG - GET PASSWORD STATUS
  4583.     AH = 06h
  4584. Return: AL = status
  4585.         00h password inactive
  4586.         01h password active
  4587. --------N-6007-------------------------------
  4588. INT 60 - FTP Packet Driver - BASIC FUNC - RESET INTERFACE
  4589.     AH = 07h
  4590.     BX = handle (optional for v1.10+)
  4591. Return: CF set on error
  4592.         DH = error code (see #2435)
  4593.     CF clear if successful
  4594. --------G-6007-------------------------------
  4595. INT 60 - MDEBUG v1.70+ - GET ACTIVE PART OF MDEBUG
  4596.     AH = 07h
  4597. Return: AL = active part for the next popup session of MDEBUG:
  4598.         bit 0: the next popup session will start in the interpreter rather
  4599.           than in the monitor
  4600.         bit 1: the next popup session will sart in the online-help
  4601. SeeAlso: AH=03h"MDEBUG",AH=04h"MDEBUG"
  4602. --------G-6008-------------------------------
  4603. INT 60 - MDEBUG - UNUSED
  4604.     AH = 08h-FFh
  4605. Return: AX = FFFCh
  4606. --------N-600A-------------------------------
  4607. INT 60 - FTP Packet Driver 1.09+ - HIGH-PERF FUNC - GET PARAMETERS
  4608.     AH = 0Ah
  4609. Return: CF set on error
  4610.         DH = error code (0Bh) (see #2435)
  4611.     CF clear if successful
  4612.         ES:DI -> parameter table (see #2440)
  4613.  
  4614. Format of packet driver parameter table:
  4615. Offset    Size    Description    (Table 2440)
  4616.  00h    BYTE    major revision of packet driver spec driver conforms to
  4617.  01h    BYTE    minor revision of packet driver spec
  4618.  02h    BYTE    length of this structure in bytes
  4619.  03h    BYTE    length of a MAC-layer address
  4620.  04h    WORD    maximum transfer unit, including MAC headers
  4621.  06h    WORD    buffer size for multicast addr
  4622.  08h    WORD    number of receive buffers (one less than back-to-back MTU rcvs)
  4623.  0Ah    WORD    number of transmit buffers
  4624.  0Ch    WORD    interrupt number to hook for post-EOI processing, 00h=none
  4625. --------N-600B-------------------------------
  4626. INT 60 - FTP Packet Driver 1.09 - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
  4627.     AH = 0Bh
  4628.     DS:SI -> buffer
  4629.     CX = length of buffer
  4630.     ES:DI -> FAR function to call when buffer becomes available (see #2441)
  4631. Return: CF set on error
  4632.         DH = error code (0Bh,0Ch) (see #2435)
  4633.     CF clear if successful
  4634. Notes:    unlike function 04h, the buffer is not available for modification as
  4635.       soon as the call returns; the buffer may be queued by the driver and
  4636.       not processed until later
  4637.     this function has been dropped from v1.10+ of the specification and
  4638.       replaced by function 0Ch
  4639. SeeAlso: AH=04h"Packet Driver",AH=0Ch"Packet Driver"
  4640.  
  4641. (Table 2441)
  4642. Values packet driver completion function is called with:
  4643.     AX = result
  4644.         00h copy OK
  4645.         nonzero error
  4646.     ES:DI -> buffer passed to INT 60/AH=0Bh call
  4647. --------N-600C-------------------------------
  4648. INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - ASYNCHRONOUS SEND PACKET
  4649.     AH = 0Ch
  4650.     ES:DI -> pointer to IOCB (see #2442)
  4651. Return: CF set on error
  4652.         DH = error code (see #2435)
  4653.     CF clear if successful
  4654. SeeAlso: AH=04h"Packet Driver",AH=0Bh"Packet Driver"
  4655.  
  4656. Format of packet driver IOCB:
  4657. Offset    Size    Description    (Table 2442)
  4658.  00h    DWORD    pointer to buffer
  4659.  04h    WORD    length of buffer
  4660.  06h    BYTE    flags
  4661.         bit 0: packet driver is finished with IOCB
  4662.         bit 1: application requests upcall when driver completes
  4663.  07h    DWORD    function address for upcall (see #2443)
  4664.  0Bh  4 BYTEs    future gather write
  4665.  0Fh    BYTE    ???
  4666.  10h  8 BYTEs    private driver workspace
  4667.  
  4668. (Table 2443)
  4669. Values completion function is called with:
  4670.     ES:DI -> IOCB passed to INT 60/AH=0Ch
  4671. --------N-600C-------------------------------
  4672. INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
  4673.     AH = 0Ch
  4674. Return: AL = status
  4675.         00h successful
  4676.         ES:SI -> 6-byte station address
  4677.         02h semaphore service is unavailable
  4678. --------N-600D-------------------------------
  4679. INT 60 - FTP Packet Driver 1.10+ - HIGH-PERF FUNC - DROP PACKET FROM QUEUE
  4680.     AH = 0Dh
  4681.     ES:DI -> IOCB
  4682. Return: CF set on error
  4683.         DH = error code (see #2435)
  4684.     CF clear if successful
  4685. SeeAlso: AH=0Ch"Packet Driver"
  4686. --------N-6011-------------------------------
  4687. INT 60 - 3com, 10NET, Banyan VINES - LOCK AND WAIT
  4688.     AH = 11h
  4689.     AL = drive number or 0
  4690.     DX = number of seconds to wait
  4691.     ES:SI = Ethernet address or 0
  4692.     DS:BX -> 31-byte ASCIZ semaphore name
  4693. Return: AL = status (see #2444)
  4694. SeeAlso: AH=12h,AH=13h
  4695.  
  4696. (Table 2444)
  4697. Values for 3com semaphore status:
  4698.  00h    successful
  4699.  01h    timeout
  4700.  02h    server not responding
  4701.  03h    invalid semaphore name
  4702.  04h    semaphore list is full
  4703.  05h    invalid drive ID
  4704.  06h    invalid Ethernet address
  4705.  07h    not logged in
  4706.  08h    write to network failed
  4707.  09h    semaphore already logged for this CPU
  4708. --------N-6012-------------------------------
  4709. INT 60 - 3com, 10NET, Banyan VINES - LOCK
  4710.     AH = 12h
  4711.     AL = drive number or 00h
  4712.     ES:SI = Ethernet address or 0000h:0000h
  4713.     DS:BX -> 31-byte ASCIZ semaphore name
  4714. Return: AL = status (see also #2444)
  4715.         01h semaphore currently locked by another PC
  4716. Note:    unlike function 11h, this function returns immediately
  4717. SeeAlso: AH=11h,AH=13h
  4718. --------N-6013-------------------------------
  4719. INT 60 - 3com, 10NET, Banyan VINES - UNLOCK
  4720.     AH = 13h
  4721.     AL = drive number or 00h
  4722.     ES:SI = Ethernet address or 0000h:0000h
  4723.     DS:BX -> 31-byte ASCIZ semaphore name
  4724. Return: AL = status (see also #2444)
  4725.         01h semaphore not locked
  4726. SeeAlso: AH=11h,AH=12h
  4727. --------N-6014-------------------------------
  4728. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET RECEIVE MODE
  4729.     AH = 14h
  4730.     BX = handle (optional for v1.10+)
  4731.     CX = mode (see #2445)
  4732. Return: CF set on error
  4733.        DH = error code (01h,08h) (see #2435)
  4734.     CF clear if successful
  4735. SeeAlso: AH=15h
  4736.  
  4737. (Table 2445)
  4738. Values for packet driver receive mode:
  4739.  01h    turn off receiver
  4740.  02h    receive only packets sent to this interface
  4741.  03h    mode 2 plus broadcast packets
  4742.  04h    mode 3 plus limited multicast packets
  4743.  05h    mode 3 plus all multicast packets
  4744.  06h    all packets
  4745.  07h    raw mode for serial line only (v1.10+)
  4746. --------N-6015-------------------------------
  4747. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET RECEIVE MODE
  4748.     AH = 15h
  4749.     BX = handle (optional for v1.10+)
  4750. Return: CF set on error
  4751.         DH = error code (01h) (see #2435)
  4752.     CF clear if successful
  4753.         AX = receive mode (see #2445)
  4754. SeeAlso: AH=14h
  4755. --------N-6016-------------------------------
  4756. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET MULTICAST LIST
  4757.     AH = 16h
  4758.     ES:DI -> multicast list
  4759.     CX = length of list in bytes
  4760. Return: CF set on error
  4761.         DH = error code (06h,09h,0Eh) (see #2435)
  4762.     CF clear if successful
  4763. SeeAlso: AH=17h
  4764. --------N-6017-------------------------------
  4765. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET MULTICAST LIST
  4766.     AH = 17h
  4767. Return: CF set on error
  4768.         DH = error code (06h,09h) (see #2435 at AX=01FFh)
  4769.     CF clear if successful
  4770.         ES:DI -> multicast addresses (do not modify)
  4771.         CX = bytes of multicast addresses currently in use
  4772. SeeAlso: AH=16h
  4773. --------N-6018-------------------------------
  4774. INT 60 - FTP Packet Driver - EXTENDED FUNC - GET STATISTICS
  4775.     AH = 18h
  4776.     BX = handle (optional for v1.10+)
  4777. Return: CF set on error
  4778.         DH = error code (01h) (see #2435)
  4779.     CF clear if successful
  4780.         DS:SI -> statistics (see #2446)
  4781.  
  4782. Format of packet driver statistics:
  4783. Offset    Size    Description    (Table 2446)
  4784.  00h    DWORD    packets in
  4785.  04h    DWORD    packets out
  4786.  08h    DWORD    bytes in
  4787.  0Ch    DWORD    bytes out
  4788.  10h    DWORD    errors in
  4789.  14h    DWORD    errors out
  4790.  18h    DWORD    packets dropped
  4791. --------N-6019-------------------------------
  4792. INT 60 - FTP Packet Driver - EXTENDED FUNC - SET NETWORK ADDRESS
  4793.     AH = 19h
  4794.     ES:DI -> address
  4795.     CX = length of address
  4796. Return: CF set on error
  4797.         DH = error code (0Dh,0Eh) (see #2435)
  4798.     CF clear if successful
  4799.         CX = length
  4800. --------N-601A-------------------------------
  4801. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - SEND RAW BYTES
  4802.     AH = 1Ah
  4803.     DS:SI -> buffer
  4804.     CX = length of buffer
  4805. Return: CF set on error
  4806.         DH = error code (see #2435 at AX=01FFh)
  4807.     CF clear if successful
  4808. SeeAlso: AH=1Ch
  4809. --------N-601B-------------------------------
  4810. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FLUSH RAW BYTES RECEIVED
  4811.     AH = 1Bh
  4812. Return: CF set on error
  4813.         DH = error code (see #2435)
  4814.     CF clear if successful
  4815. SeeAlso: AH=1Ch
  4816. --------N-601C-------------------------------
  4817. INT 60 - FTP Packet Driver v1.10+ - EXTENDED FUNC - FETCH RAW BYTES RECEIVED
  4818.     AH = 1Ch
  4819.     DS:SI -> buffer
  4820.     CX = length of buffer
  4821.     DX = timeout in clock ticks
  4822. Return: CF set on error
  4823.         DH = error code (see #2435 at AX=01FFh)
  4824.     CF clear if successful
  4825.         CX = number of bytes transferred to buffer
  4826. SeeAlso: AH=1Ah,AH=1Bh
  4827. --------a-60AD-------------------------------
  4828. INT 60 - AccessDOS - API
  4829.     AH = ADh
  4830.     AL = function
  4831.         E1h ???
  4832.         Return: AX = ???
  4833.         E2h get configuration
  4834.         Return: BX:AX -> configuration data
  4835. Program: AccessDOS is a public domain TSR developed at The Trace Research and
  4836.       Development Center which provides extensions for keyboard, mouse,
  4837.       and sound access by the visually, hearing, or motor-control
  4838.       impaired.
  4839. Range:    INT 60 to INT 66, selected by scanning for 0000h:0000h vector
  4840. --------N-60E9-------------------------------
  4841. INT 60 - FTP Packet Driver - Crynwr Software - AUTOSELECT TRANSCEIVER
  4842.     AH = E9h
  4843.     ???
  4844. Return: ???
  4845. --------*-61---------------------------------
  4846. INT 61 - reserved for user interrupt
  4847. --------b-61---------------------------------
  4848. INT 61 - Atari Portfolio - EXTENDED BIOS
  4849. Desc:    provides subfunctions such as turning off the machine, accessing
  4850.       internal variables, and mapping memory cards
  4851. SeeAlso: INT 60"Atari",AH=00h"Portfolio",AH=08h"Portfolio",AH=0Dh"Portfolio"
  4852. SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
  4853. SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
  4854. SeeAlso: AH=30h"Portfolio"
  4855. --------b-61---------------------------------
  4856. INT 61 - TI Professional PC - FACTORY ROM DATA AREA POINTER (NOT A VECTOR!)
  4857. Desc:    the low word of this vector contains the segment of the RAM data area
  4858.       to be used by the expansion ROM at F400h:0000h, and the high word
  4859.       contains the length of the data area; this segment and size are
  4860.       both set to 0000h if no ROM is installed at F400h:0000h
  4861. SeeAlso: INT 60"TI Professional PC",INT 62"TI Professional"
  4862. SeeAlso: INT 66"TI Professional PC"
  4863. --------b-61---------------------------------
  4864. INT 61 - HP 95LX System Manager - LOAD DS
  4865. SeeAlso: INT 0F"HP 95LX",INT 60"HP 95LX"
  4866. --------r-61---------------------------------
  4867. INT 61 - JPI TopSPEED Modula-2 v1 - PROCEDURE EXIT TRAP
  4868. SeeAlso: INT 60"JPI"
  4869. --------d-61---------------------------------
  4870. INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
  4871. Desc:    this vector stores the second four bytes of the parameter table for
  4872.       hard disk 0
  4873. SeeAlso: INT 60"Adaptec",INT 62"Adaptec",INT 63"Adaptec",#0586
  4874. --------I-61---------------------------------
  4875. INT 61 - Sangoma CCIP (CCPOP 3270 resident module) INTERFACE
  4876.     BX:DX -> control block
  4877. SeeAlso: INT 67"Sangoma"
  4878. --------v-61---------------------------------
  4879. INT 61 - VIRUS - "SEMTEX"/"Screen Trasher" - INT 21h SUBSTITUTE
  4880. Note:    the virus copies the original INT 21h vector into INT 61h
  4881. SeeAlso: INT 21h,INT 60"VIRUS",INT 6B"VIRUS"
  4882. --------U-61---------------------------------
  4883. INT 61 - PC-Magazin - PAGE, SWAPx
  4884.     details not yet available
  4885. Program: PAGE and SWAPx are utilities from PC-Magazin, the German edition of
  4886.       PC Magazine, issue 47/85, page 31
  4887. SeeAlso: INT 66"INCA"
  4888. --------N-61---------------------------------
  4889. INT 61 - TCPOpen kernel - API
  4890.     ES:BX -> request packet (see #2447)
  4891. Program: TCPOpen is a TCP/IP protocol stack by Lanera
  4892. Range:    INT 60 to INT 7F, selected by configuration file
  4893. Note:    there does not appear to be an installation check, though function
  4894.       FFFFh can be used to verify that the software is indeed functioning
  4895.  
  4896. Format of TCPOpen request packet:
  4897. Offset    Size    Description    (Table 2447)
  4898.  00h  8 BYTEs    ???
  4899.  08h    WORD    function number (0000h-001Ah or FFF9h-FFFFh)
  4900.  0Ah    WORD    ???
  4901.  0Ch  2 BYTEs    ???
  4902.  0Eh    WORD    (ret) return code
  4903.  10h  2 BYTEs    ???
  4904.  12h    WORD    ???
  4905.  14h    WORD    (ret) 0001h if requested function complete
  4906.  16h    WORD    (ret) ???
  4907.  18h  6 BYTEs    ???
  4908.  1Eh    DWORD    -> ???
  4909.  22h    WORD    ??? or 0000h
  4910.  24h    WORD    (ret) ???
  4911. SeeAlso: #2448
  4912.  
  4913. (Table 2448)
  4914. Call TCPOpen Function FFFFh: installation verification
  4915. Return: offset 10h = BEEFh
  4916.     offset 14h = 0001h
  4917.     offset 24h = ???
  4918. Index:    installation check;TCPOpen kernel
  4919. --------N-61---------------------------------
  4920. INT 61 - XFS v1.76 - XFSKRNL.EXE - API
  4921.     AX = function
  4922.         8000h installation check???
  4923.         Return: AX = 0000h
  4924.         8001h ???
  4925.         ES:DI -> DWORD ???
  4926.         Return: AX = status???
  4927.         8002h ???
  4928.         BX = ???
  4929.         CX = ???
  4930.         ES:DI -> ???
  4931.         Return: AX = status???
  4932.         8003h ???
  4933.         BX = ???
  4934.         CX = ???
  4935.         ES:DI -> ???
  4936.         Return: AX = status???
  4937.         8004h ???
  4938.         BX = ???
  4939.         Return: AX = status???
  4940.         8005h wait until ???
  4941.         Return: DX:AX = ???
  4942.         8006h get ???
  4943.         Return: DX:AX -> ??? record
  4944.         8007h set IP address??? (or htonl/ntohl)
  4945.         DX:BX = IP address???
  4946.         Return: DX:AX = byte-swapped IP address
  4947.         8008h set IP address??? (or htonl/ntohl)
  4948.         DX:AX = IP address???
  4949.         Return: DX:AX = byte-swapped IP address
  4950.         8009h ???
  4951.         ES:DI -> ???
  4952.         Return: DX:AX = ???
  4953.         800Ah ???
  4954.         800Bh ???
  4955.         Return: DX:AX = ???
  4956.         800Ch ???
  4957.         800Dh ???
  4958.         800Eh ???
  4959.         800Fh ???
  4960.         8010h get ??? record
  4961.         Return: DX:AX -> ??? record
  4962.         8011h ???
  4963.         8012h ???
  4964.         BX = ???
  4965.         Return: DX:AX = ???
  4966.         8013h get ??? record
  4967.         Return: DX:AX -> ??? record
  4968.         8014h ???
  4969.         ES:DI -> ???
  4970.         Return: nothing
  4971.         8015h get ??? record
  4972.         Return: DX:AX -> 8-byte ??? record
  4973.         8016h get ??? record
  4974.         Return: DX:AX -> 6-byte ??? record
  4975.         8017h ???
  4976.         ES:DI -> ???
  4977.         Return: DX:AX = ???
  4978.         8018h get ??? record
  4979.         Return: DX:AX -> ??? record
  4980.         8019h get ??? record
  4981.         Return: DX:AX -> 14-byte ??? record
  4982.         801Ah get ??? record
  4983.         Return: DX:AX -> ??? record (max 98 bytes)
  4984.         801Bh get ??? record
  4985.         Return: DX:AX -> ??? record
  4986.         801Ch ???
  4987.         Return: nothing
  4988.         801Dh get ???
  4989.         Return: AL = ???
  4990.         801Eh ???
  4991.         Return: AX = ???
  4992.         801Fh uninstall
  4993.         Return: AX = status
  4994.                 0000h successful
  4995.                 other interrupt which could not be released
  4996.     AX = other
  4997.         Return: AX:BX = ??? (0000h:0000h by default)
  4998. Program: XFS is a shareware Network File System client by Robert Juhasz
  4999. Range:    INT 60 to INT 65, selected by scanning for two consecutive free
  5000.       vectors and hooking the first
  5001. SeeAlso: INT 62"XFS"
  5002. --------N-61---------------------------------
  5003. INT 61 - FTP Software PC/TCP - TCP/IP TSR System Call interface
  5004.     AH = system call number (see also entries below)
  5005.         01h "pkt_alloc" (v2.05; this is "net_config" in v2.1+)
  5006.         02h "pkt_free" (v2.05; this is "get_kernel_info" in v2.1+)
  5007. Return: CF clear if successful
  5008.     CF set on error
  5009.         AL = basic error (see #2449)
  5010.         AH = suberror number (see #2450,#2451)
  5011. Range:    INT 20h to INT E0h, selected by configuration
  5012. Notes:    the installation check consists of testing for the signature "TCPTSR"
  5013.       three bytes beyond the start of the interrupt handler
  5014. BUG:    the SLIP kernel for v2.05 bounds-checks the wrong register, so values
  5015.       greater than 54h in AH may crash the system.    Other kernels may have
  5016.       this bug as well.
  5017. SeeAlso: INT 61/AH=00h"PC/TCP",INT 61/AH=2Ah,INT 61/AH=54h
  5018. Index:    installation check;PC/TCP
  5019.  
  5020. (Table 2449)
  5021. Values for PC/TCP error code:
  5022.  00h "NET_NOERR" successful
  5023.  01h "NET_ERR_INUSE" protocol or socket already in use
  5024.  02h "NET_DOS_ERR" MS-DOS error (returned as suberror code in AH)
  5025.  03h "NET_ERR_NOMEM" out of memory
  5026.  04h "NET_ERR_NOTNETCONN" not a network descriptor
  5027.  05h "NET_ERR_ILLEGALOP" invalid operation on given kind of network descriptor
  5028.  06h "NET_ERR_BADPKT" illegal or corrupted packet
  5029.  07h "NET_ERR_NOHOST" no host bound to specified connection
  5030.  08h "NET_ERR_CANTOPEN" unable to open file
  5031.  09h "NET_ERR_NET_UNREACHABLE" network is unreachable
  5032.  0Ah "NET_ERR_HOST_UNREACHABLE" host is unreachable (see subcodes below)
  5033.  0Bh "NET_ERR_PROT_UNREACHABLE" protocol is unreachable
  5034.  0Ch "NET_ERR_PORT_UNREACHABLE" port is unreachable
  5035.  0Dh "NET_ERR_TIMEOUT" operation timed out
  5036.  0Eh "NET_ERR_HOSTUNKNOWN" unable to resolve host name
  5037.  0Fh "NET_ERR_NOSERVERS" no name servers configured
  5038.  10h "NET_ERR_SERVER_ERR" bad reply from name server
  5039.     Subcodes: 0= no error, 1 = Host unreachable
  5040.  11h "NET_ERR_BADFORMAT" bad format for IP address or field in IP address struc
  5041.             is zero
  5042.  12h "NET_ERR_BADARG" invalid argument
  5043.  13h "NET_ERR_EOF" foreign host closed its end of connection
  5044.  14h "NET_ERR_RESET" connection has been reset
  5045.  15h "NET_ERR_WOULDBLOCK" recv() call was done on a non-blocking connection
  5046.             with no data available
  5047.  16h "NET_ERR_UNBOUND" insufficient resources to do operation
  5048.  17h "NET_ERR_NODESC" could not allocate network descriptor
  5049.  18h "NET_ERR_BADSYSCALL" invalid/unsupported kernel call
  5050.  19h "NET_ERR_CANTBROADCAST" unable to broadcast
  5051.  1Ah "NET_ERR_NOTESTAB" operation illegal because connection not established
  5052.  1Bh kernel busy, try again later
  5053.  1Ch "NET_ERR_ICMPMESG" an ICMP message was received (not on streams)
  5054.     (see subcodes below)
  5055. ---v2.1+---
  5056.  1Dh "NET_ERR_TERMINATING" internal kernel fatal error
  5057.  1Eh "NET_ERR_TAG_LOCKED" not allowed to set this tag (net_config)
  5058.  1Fh "NET_ERR_BAD_INTERFACE" non existent interface specified
  5059.  20h "NET_ERR_BADCONFIG" kernel cannot run - bad configuration
  5060.  21h "NET_ERR_EMM" expanded memory error
  5061.  22h "NET_ERR_CANT_SHUTDOWN" cant unload kernel (multitasker running)
  5062.  23h "NET_ERR_PARKED_IN" unable to unhook DOS interrupt
  5063.  24h "NET_ERR_NOQIOS" ran out of resources; try again later
  5064.  25h "NET_ERR_WOULD_TRUNCATE" datagram too large and "don't truncate" was set
  5065.  
  5066. (Table 2450)
  5067. Values for subcodes of PC/TCP error 0Ah "NET_ERR_HOST_UNREACHABLE":
  5068.  00h    no error
  5069.  01h    host unreachable
  5070.  02h    ARP failed
  5071.  03h    hardware failure
  5072.  04h    link failure
  5073.  05h    no route
  5074.  06h    gateway down
  5075.  
  5076. (Table 2451)
  5077. Values for subcodes of PC/TCP error 1Ch "NET_ERR_ICMPMESG":
  5078.  07h    unrecognised
  5079.  08h    can't fragment
  5080.  09h    srcr_fail
  5081.  0Ah    source quench
  5082.  0Bh    time exceeded
  5083.  0Ch    parameter problem
  5084.  0Dh    admin_prohib. see also code 0Ah
  5085. --------N-6100-------------------------------
  5086. INT 61 U - PC/TCP kernel v2.05+ - GET DEBUG INFORMATION
  5087.     AH = 00h
  5088.     DS:SI -> 216-byte buffer for network debugging information (see #2452)
  5089. Return: CF clear
  5090.     AX = 0000h
  5091.     buffer filled
  5092. Notes:    this call is not documented by FTP, Inc. for any version
  5093.     most of the information returned by this call is available via the
  5094.       documented get_kernel_info or net_info commands.
  5095.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  5096. SeeAlso: INT 61"PC/TCP",INT 61/AH=2Ah"PC/TCP"
  5097.  
  5098. Format of network debugging information:
  5099. Offset    Size    Description    (Table 2452)
  5100.  00h    DWORD    number of interrupts
  5101.  04h    DWORD    receive buffer low-water mark
  5102.  08h    DWORD    transmit buffer low-water mark
  5103.  0Ch    DWORD    number of packets received
  5104.  10h    DWORD    number of packets transmitted
  5105.  14h    DWORD    total receive errors
  5106.  18h    DWORD    total transmit errors
  5107.  1Ch  4 BYTEs    ???
  5108.  20h    DWORD    receive resets
  5109.  24h    DWORD    transmit resets
  5110.  28h    DWORD    number of "runts" received
  5111.  2Ch    DWORD    number of alignment errors on received packets
  5112.  30h    DWORD    number of CRC errors on received packets
  5113.  34h    DWORD    number of parity errors on received packets
  5114.  38h    DWORD    number of receive overflow errors
  5115.  3Ch    DWORD    number of oversized packets received
  5116.  40h    DWORD    number of packets lost due to lack of buffers
  5117.  44h    DWORD    receive timeouts
  5118.  48h 32 BYTEs    ???
  5119.  68h    DWORD    number of transmit collisions
  5120.  6Ch    DWORD    number of transmit timeouts
  5121.  70h    DWORD    number of transmit underflows
  5122.  74h    DWORD    number of lost "crs" on transmit
  5123.  78h    DWORD    number of times heartbeat failed on transmit
  5124.  7Ch 24 BYTEs    ???
  5125.  94h    WORD    free packet buffers
  5126.  96h    WORD    total packet buffers
  5127.  98h    WORD    minimum number of packet buffers free since kernel started
  5128.  9Ah 24 BYTEs    ???
  5129.  B2h    DWORD    pointer to TCP connection list???
  5130.  B6h    DWORD    pointer to IP routing table???
  5131.  BAh 30 BYTEs    ???
  5132. --------N-6100-------------------------------
  5133. INT 61 - Banyan VINES - CALL A SERVICE
  5134.     AH = 00h
  5135.     AL = service ID (1..16)
  5136.     other registers vary by service
  5137. Return: AX = status (see #2455)
  5138. Desc:    Calls an adapter driver or redirector service. The service handler
  5139.       pointers are stored at offset 0010h in the code segment of the
  5140.       BANV interrupt handler (see #2453).
  5141. Note:    Banyan can use any interrupt from 60h through 66h.  The Banyan
  5142.       interrupt handler is identified by the string "BANV" in the four
  5143.       bytes immediately preceding the interrupt handler
  5144. SeeAlso: AH=01h,AH=03h
  5145.  
  5146. Format of the BANV code segment (revision 5.53):
  5147. Offset    Size    Description    (Table 2453)
  5148.  00h 16    BYTEs    reserved
  5149.  10h 16    DWORDs    far pointers to the service handlers (0 = not installed)
  5150.  50h    DWORD    far pointer to last called service
  5151.  54h    WORD    VINES revision
  5152.  56h    DWORD    VINES revision long
  5153.  5Ah    WORD    VINES revision (lower bound)
  5154.  5Ch    DWORD    VINES revision (lower bound) long
  5155.  60h    WORD    VINES revision (upper bound)
  5156.  62h    DWORD    VINES revision (upper bound) long
  5157.  66h    WORD    end of PCCONFIG area
  5158.  68h    WORD    start of PCCONFIG area
  5159.  6Ah  4    BYTEs    BANV interrupt identifier ("BANV")
  5160.  6Eh  N    BYTEs    BANV interrupt service
  5161. SeeAlso: #2454
  5162. --------b-6100-------------------------------
  5163. INT 61 - Atari Portfolio - SERVICE INITIALIZATION
  5164.     AH = 00h
  5165. Return: nothing
  5166. Note:    applications using any Portfolio INT 61 calls should call this function
  5167.       exactly once at startup
  5168. SeeAlso: AH=07h"Portfolio",AH=09h"Portfolio",AH=0Dh"Portfolio"
  5169. SeeAlso: AH=11h"Portfolio",AH=15h"Portfolio",AH=19h"Portfolio"
  5170. SeeAlso: AH=1Bh"Portfolio",AH=24h"Portfolio",AH=2Ch"Portfolio"
  5171. SeeAlso: AH=30h"Portfolio",INT 61"Atari"
  5172. --------V-610000-----------------------------
  5173. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ZOOM DISPLAY
  5174.     AX = 0000h
  5175.     BX = zoom factor (0-7)
  5176. Desc:    zooms the display based on the given zoom factor
  5177. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  5178.       obtained by calling INT 16/AH=FFh
  5179.     not all vendors include the Tseng TSR which supports these functions
  5180. SeeAlso: AX=0001h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
  5181. SeeAlso: INT 16/AH=FFh"OPTIMA"
  5182. --------N-610001DS0001-----------------------
  5183. INT 61 - Banyan VINES - INTERNAL VINES SOCKET API (NEAR DATA)
  5184.     AX = 0001h
  5185.     DS = 0001h (to distinguish from alternate AX=0001h socket interface)
  5186.     CX:BX -> internal communications control block (see #2454)
  5187.     DX = caller's data segment
  5188. Return: AX = status
  5189.         0000h successful
  5190.         0099h invalid operation
  5191.         00A5h resource not available
  5192. Desc:    StreetTalk access with session handles
  5193. Range:    INT 60 to INT 66
  5194. Notes:    This service is handled by the adapter driver
  5195.     The request dispatch table contains dummy entries for subfunctions
  5196.       06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
  5197.       (invalid operation) in the request block's result buffer
  5198.     in recent VINES releases, this interface is superseded by the AX=000Fh
  5199.       interface, which allows FAR parameter block pointers (see that
  5200.       function's entries for more details on individual subfunctions)
  5201.     some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
  5202.       VINES 5.53) ignore the value in CX and use the value from DX instead
  5203. SeeAlso: AX=000Fh
  5204.  
  5205. Format of internal communications control block:
  5206. Offset    Size    Description    (Table 2454)
  5207.  00h    WORD    subfunction number
  5208.  02h    WORD    magic number (FEFEh)
  5209.  04h    WORD    (ret) result, should be set to 0 before calling
  5210.  06h    WORD    reserved (will be set to client DS)
  5211.  08h    WORD    caller's code segment if function 000Bh, 0 else
  5212.  0Ah    WORD    pointer to parameter block
  5213.  0Ch    WORD    reserved (segment of parameter block; will be set to client DS)
  5214.  0Eh    WORD    StreetTalk handle
  5215. SeeAlso: #2453,#2574h at INT 61/AX=000Fh
  5216. --------N-610001SF0001-----------------------
  5217. INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
  5218.     AX = 0001h subfn 0001h
  5219.     DS:DX -> communications control block (function 0001h) (see #2456)
  5220. Return: AX = status (0000h-0002h,0098h,009Eh-00A2h) (see #2455)
  5221. Range:    INT 60h to INT 66h
  5222. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5223.       the four bytes immediately preceding the interrupt handler
  5224. SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0008h,INT 15/AX=DE2Eh
  5225.  
  5226. (Table 2455)
  5227. Values for VINES status:
  5228.  0000h    successful
  5229.  0001h    service not installed
  5230.  0002h    invalid service ID
  5231.  0003h    invalid function
  5232.  0004h-000Ah reserved for BANV interface errors
  5233.  0097h    invalid socket identifier
  5234.  0098h    resource already in use
  5235.  009Bh    destination node unreachable
  5236.  009Ch    message overflow
  5237.  009Dh    destination socket nonexistent
  5238.  009Eh    address family does not exist
  5239.  009Fh    socket type does not exist
  5240.  00A0h    protocol does not exist
  5241.  00A1h    no more sockets available
  5242.  00A2h    no more buffer space available
  5243.  00A3h    timeout
  5244.  00A5h    resource not available
  5245.  00A6h    internal communication failure
  5246.  00B1h    resource disconnect
  5247.  
  5248. Format of VINES control block to open socket:
  5249. Offset    Size    Description    (Table 2456)
  5250.  00h    WORD    0001h
  5251.  02h    WORD    pointer to argument block
  5252.  04h    WORD    error return code
  5253.  06h  4 BYTEs    reserved
  5254. SeeAlso: #2457
  5255.  
  5256. Format of VINES argument block for opening socket:
  5257. Offset    Size    Description    (Table 2457)
  5258.  00h    WORD    pointer to 2-byte buffer for socket identifier
  5259.  02h    WORD    address family
  5260.         0003h Banyan
  5261.  04h    WORD    socket type
  5262.         in address family 0003h
  5263.             0001h IPC socket
  5264.             0002h SPP socket
  5265.  06h    WORD    protocol number
  5266.         FFFFh default
  5267.  08h    WORD    pointer to 16-byte buffer for socket address (see #2458)
  5268.  0Ah    WORD    local port number
  5269.         0000h if service should assign transient port number
  5270.         0001h to 01FFh well-known port number (assigned by Banyan)
  5271. SeeAlso: #2456
  5272.  
  5273. Format of Banyan VINES IPC port:
  5274. Offset    Size    Description    (Table 2458)
  5275.  00h    WORD    address family (always 0003h for Banyan ports)
  5276.  04h  4 BYTEs    network number (server's serial number)
  5277.  06h    WORD    subnet number  (0001h = server, 8000h-FFFEh = PC)
  5278.  08h    WORD    port ID (0001h-01FFh for "well-known" ports)
  5279.  0Ah    BYTE    hop count
  5280.  0Bh  5 BYTEs    filler
  5281. SeeAlso: #2463
  5282. --------N-610001SF0002-----------------------
  5283. INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
  5284.     AX = 0001h subfn 0002h
  5285.     DS:DX -> communications control block (function 0002h) (see #2459)
  5286. Return: AX = status (0000h-0002h,0097h,009Bh-009Dh,00A2h,00A3h,00B1h)
  5287.         (see #2455)
  5288. Range:    INT 60h to INT 66h
  5289. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5290.       the four bytes immediately preceding the interrupt handler
  5291. SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0005h
  5292.  
  5293. Format of VINES control block for subfunction 0002h:
  5294. Offset    Size    Description    (Table 2459)
  5295.  00h    WORD    0002h
  5296.  02h    WORD    pointer to argument block (see #2460)
  5297.  04h    WORD    error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
  5298.         (see #2455)
  5299.  06h  4 BYTEs    reserved
  5300. SeeAlso: #2464
  5301.  
  5302. Format of VINES argument block for subfunction 0002h:
  5303. Offset    Size    Description    (Table 2460)
  5304.  00h    WORD    routine metric
  5305.  02h    WORD    error return code
  5306.  04h    WORD    socket identifier
  5307.  06h    WORD    pointer to send buffer (see #2462)
  5308.  08h    WORD    length of send buffer
  5309.  0Ah    WORD    message request flags (see #2461)
  5310.  0Ch 16 BYTEs    socket address (see #2463)
  5311.  1Ch    WORD    timeout value in multiples of 200ms
  5312.  1Eh    WORD    connection identifier
  5313.  20h    WORD    type of request
  5314.         0001h send message
  5315.         0002h establish a virtual connection
  5316.         0003h terminate a virtual connection
  5317. SeeAlso: #2459,#2465
  5318.  
  5319. Bitfields for message request flags:
  5320. Bit(s)    Description    (Table 2461)
  5321.  0    async request
  5322.  1    reliable message
  5323.  2    flush receive buffer on overflow
  5324.  3    end of user message received
  5325.  4    vectored request (if set, send buffer contains buffer descriptors)
  5326.  5    connection-specific receive
  5327.  6    change to connection-specific receive mode
  5328. SeeAlso: #2460,#2465
  5329.  
  5330. Format of buffer descriptor:
  5331. Offset    Size    Description    (Table 2462)
  5332.  00h    WORD    data segment
  5333.  02h    WORD    buffer pointer
  5334.  04h    WORD    buffer length
  5335.  06h    WORD    character count
  5336. SeeAlso: #2460
  5337.  
  5338. Format of VINES socket address for unreliable datagrams:
  5339. Offset    Size    Description    (Table 2463)
  5340.  00h    WORD    0003h      address family
  5341.  02h    DWORD    FFFFFFFFh network number
  5342.  06h    WORD    FFFFh      subnet number
  5343.  08h    WORD          local port number
  5344.  0Ah    BYTE    00h-0Fh      hop count
  5345.  0Bh  5 BYTEs    0000h      filler
  5346. SeeAlso: #2458
  5347. --------N-610001SF0003-----------------------
  5348. INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
  5349.     AX = 0001h subfn 0003h
  5350.     DS:DX -> communications control block (function 0003h) (see #2464)
  5351. Return: AX = status (00-0Ah,97h,A2h,A3h) (see #2455)
  5352. Range:    INT 60h to INT 66h
  5353. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5354.       the four bytes immediately preceding the interrupt handler
  5355. SeeAlso: AX=0001h/SF=0002h
  5356.  
  5357. Format of VINES control block for subfunction 0003h:
  5358. Offset    Size    Description    (Table 2464)
  5359.  00h    WORD    0003h
  5360.  02h    WORD    pointer to argument block (see #2465)
  5361.  04h    WORD    error return code (0000h,0097h,00A2h,00A3h,00A5h,00A6h,00B1h)
  5362.         (see #2455)
  5363.  06h  4 BYTEs    reserved
  5364. SeeAlso: #2459,#2465,#2467
  5365.  
  5366. Format of VINES argument block for subfunction 0003h:
  5367. Offset    Size    Description    (Table 2465)
  5368.  00h    WORD    character count
  5369.  02h    WORD    error return code
  5370.  04h    WORD    socket identifier
  5371.  06h    WORD    pointer to receive buffer (see #2466)
  5372.  08h    WORD    length of receive buffer
  5373.  0Ah    WORD    message request flags (see #2461)
  5374.  0Ch 16 BYTEs    socket address (see #2458)
  5375.  1Ch    WORD    timeout value in multiples of 200ms
  5376.  1Eh    WORD    connection identifier
  5377.  20h    WORD    type of response
  5378.         0001h message received
  5379.         0002h virtual connection established
  5380.         0003h virtual connection terminated
  5381. SeeAlso: #2464,#2468
  5382.  
  5383. Format of buffer descriptor:
  5384. Offset    Size    Description    (Table 2466)
  5385.  00h    WORD    data segment
  5386.  02h    WORD    buffer pointer
  5387.  04h    WORD    buffer length
  5388.  06h    WORD    character count
  5389. SeeAlso: #2465
  5390. --------N-610001SF0004-----------------------
  5391. INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
  5392.     AX = 0001h subfn 0004h
  5393.     DS:DX -> communications control block (function 0004h) (see #2467)
  5394. Return: AX = status (0000h-000Ah,0097h) (see #2455)
  5395. Range:    INT 60h to INT 66h
  5396. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5397.       the four bytes immediately preceding the interrupt handler
  5398. SeeAlso: AX=0001h/SF=0001h,INT 15/AX=DE2Eh
  5399.  
  5400. Format of VINES control block to close socket:
  5401. Offset    Size    Description    (Table 2467)
  5402.  00h    WORD    0004h
  5403.  02h    WORD    pointer to argument block (see #2468)
  5404.  04h    WORD    error return code (see #2455)
  5405.  06h  4 BYTEs    reserved
  5406. SeeAlso: #2464,#2470
  5407.  
  5408. Format of VINES argument block for closing socket:
  5409. Offset    Size    Description    (Table 2468)
  5410.  00h    WORD    socket identifier
  5411. SeeAlso: #2465,#2467,#2471
  5412. --------N-610001SF0005-----------------------
  5413. INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
  5414.     AX = 0001h subfn 0005h
  5415.     DS:DX -> communications control block (see #2470)
  5416. Return: AX = status (0000h-000Ah,00A2h,00A3h) (see #2469)
  5417. Desc:    returns results for all asynchronous operations invoked from the
  5418.       data segment used for this call
  5419. Range:    INT 60h to INT 66h
  5420. Notes:    The Banyan interrupt handler is identified by the string "BANV" in
  5421.       the four bytes immediately preceding the interrupt handler
  5422. SeeAlso: AX=0001h/SF=0002h,AX=0001h/SF=0009h
  5423.  
  5424. (Table 2469)
  5425. Values for VINES function status:
  5426.  0000h    successful
  5427.  0001h    service not installed
  5428.  0002h    invalid service ID
  5429.  0003h-000Ah reserved for BANV interface errors
  5430.  00A2h    no more buffer space available
  5431.  00A3h    timeout event
  5432.  
  5433. Format of VINES control block for subfunction 0005h:
  5434. Offset    Size    Description    (Table 2470)
  5435.  00h    WORD    0005h
  5436.  02h    WORD    pointer to argument block (see #2471)
  5437.  04h    WORD    error return code
  5438.  06h  4 BYTEs    reserved
  5439. SeeAlso: #2467,#2472
  5440.  
  5441. Format of VINES argument block for subfunction 0005h:
  5442. Offset    Size    Description    (Table 2471)
  5443.  00h    WORD    pointer to WORD event pointer
  5444.  02h    WORD    timeout in multiples of 200ms, FFFFh = infinite
  5445. SeeAlso: #2468,#2470
  5446. --------N-610001SF0008-----------------------
  5447. INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
  5448.     AX = 0001h subfn 0008h
  5449.     DS:DX -> communications control block (function 0008h) (see #2472)
  5450. Return: AX = status
  5451.         0000h  successful
  5452.         00A2h  no more buffer space available
  5453. Range:    INT 60h to INT 66h
  5454. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5455.       the four bytes immediately preceding the interrupt handler
  5456. SeeAlso: AX=0001h/SF=0001h,AX=0001h/SF=0009h
  5457.  
  5458. Format of VINES control block for subfunction 0006h:
  5459. Offset    Size    Description    (Table 2472)
  5460.  00h    WORD    0008h
  5461.  02h    WORD    process type
  5462.         0001h transient process
  5463.         0002h resident process
  5464.  04h    WORD    error return code
  5465.  06h  4 BYTEs    reserved
  5466. SeeAlso: #2470,#2473
  5467. --------N-610001SF000B-----------------------
  5468. INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
  5469.     AX = 0001h subfn 000Bh
  5470.     DS:DX -> communications control block (function 000Bh) (see #2473)
  5471. Return: AX = status (00h-0Ah,A2h) (see #2469)
  5472. Range:    INT 60h to INT 66h
  5473. Note:    The Banyan interrupt handler is identified by the string "BANV" in
  5474.       the four bytes immediately preceding the interrupt handler
  5475. SeeAlso: AX=0001h/SF=0005h,AX=0001h/SF=0008h
  5476.  
  5477. Format of VINES control block for subfunction 000Bh:
  5478. Offset    Size    Description    (Table 2473)
  5479.  00h    WORD    000Bh
  5480.  02h    WORD    pointer to argument block (see #2474)
  5481.  04h    WORD    error return code (see #2455)
  5482.  06h  2 BYTEs    reserved
  5483.  08h    WORD    user CS register
  5484. SeeAlso: #2472
  5485.  
  5486. Format of VINES argument block for subfunction 000Bh:
  5487. Offset    Size    Description    (Table 2474)
  5488.  00h    WORD    pointer to user interrupt function (see #2475)
  5489.  02h    WORD    pointer to user stack
  5490.  04h    WORD    initial timeout value in multiples of 200ms, FFFFh = infinite
  5491. SeeAlso: #2474
  5492.  
  5493. (Table 2475)
  5494. Values FAR user function is invoked with:
  5495.     SS = DS = ES = segment of control block
  5496.     STACK:    DWORD    return address
  5497.         WORD    argument pointer (sosend or sorec argument block)
  5498.         WORD    error return code
  5499.             0000h argument pointer is valid
  5500.             00A3h timeout
  5501. --------V-610001-----------------------------
  5502. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - CENTER ZOOM WINDOW
  5503.     AX = 0001h
  5504.     BX = X coordinate to center
  5505.     CX = Y coordinate to center
  5506. Desc:    Positions the zoom window such that the specified window-relative
  5507.       coordinates appear as close as possible to the center of the
  5508.       display.  Useful for scrolling and panning.
  5509. Range:    unknown
  5510. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  5511.       obtained by calling INT 16/AH=FFh
  5512.     not all vendors include the Tseng TSR which supports these functions
  5513. SeeAlso: AX=0000h"OPTIMA",AX=0002h"OPTIMA",AX=0005h"OPTIMA"
  5514. SeeAlso: INT 16/AH=FFh"OPTIMA"
  5515. --------I-610002-----------------------------
  5516. INT 61 - Banyan VINES - 3270 INTERFACE
  5517.     AX = 0002h
  5518.     BH = function number (see #2476)
  5519.     DS:CX -> argument block (except BH=00h,1Ah) (see #2478)
  5520. Return: AX = status (see #2477)
  5521. Notes:    Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
  5522.       which is loaded first.  The other interface will use AX=000Ah
  5523.     Status codes greater than 63h indicate an inconsistency in the 3270/SNA
  5524.       or 3270/BSC resident driver, which must be reloaded by the user
  5525.  
  5526. (Table 2476)
  5527. Values for VINES 3270 interface function number:
  5528.  00h "pi2reset"     reset 3270/SNA or 3270/BSC driver
  5529.  02h "pi2bsc"     (3270/BSC only)
  5530.  03h "pi2get"     get information stored in 3270 resident driver
  5531.  04h "pi2put"     store information in 3270 resident driver
  5532.  05h "pi2gcur"     get current screen position
  5533.  07h "pi2sdat"     send data keystroke
  5534.  08h "pi2scom"     send command keystroke
  5535.  0Ah "pi2field"     get field info for arbitrary screen positions
  5536.  0Fh "pi2stat"     get logical unit/device status
  5537.  12h "pi2nlus"     determine logical unit/device assignment
  5538.  13h "pi2gate"     specifies comm port address to gateway service
  5539.  14h "pi2attach" attach a logical unit/device
  5540.  15h "pi2sdev"     save logical unit/device info in resident driver
  5541.         (not supported in >3.0)
  5542.  16h "pi2gdev"     get device information (not supported in >3.0)
  5543.  17h "pi2luinfo" get info about specific logical unit/device
  5544.  18h "pi2gerr"     get finer error detail
  5545.  19h "pi2dhold"     (3270/SNA only)  holds a 3270 device
  5546.  1Ah "pi2shut"     release memory-resident module
  5547.  1Ch "pi2sprof"     save profile info in res driver (not supp in >3.0)
  5548.  1Dh "pi2gprof"     get prevsly stored profile info (not supp in >3.0)
  5549.  
  5550. (Table 2477)
  5551. Values for VINES 3270 status:
  5552.  0000h    successful
  5553.  000Bh    invalid parameter or data does not fit data area
  5554.  000Ch    another code path currently active in resident driver
  5555.  000Dh    operation currently not allowed
  5556.  0032h    encountered connection disconnect error
  5557.  0033h    encountered "sosend" completion error
  5558.  0034h    encountered "sosend" communication error
  5559.  0035h    attach request refused.    extended error info via "pi2gerr":
  5560.     01h resource unavailable
  5561.     02h invalid type
  5562.     03h version mismatch
  5563.     04h invalid logical unit number
  5564.     05h error during ARL processing
  5565.     06h no access for user
  5566.  0071h    encountered "sosock" error
  5567.  0072h    encountered unrecognizable error
  5568.  0073h    encountered "sowait" error (extended info via "pi2gerr")
  5569.  0074h    encountered invalid type-of-request on "sowait"
  5570.  0075h    encountered "sorec" error (extended info via "pi2gerr")
  5571.  0076h    encountered "sorec" completion error (ext info via "pi2gerr")
  5572.  0077h    encountered connection request
  5573.  0078h    encountered unrecognizable data
  5574.  0079h    encountered unknown connection ID (ext info via "pi2gerr")
  5575. SeeAlso: #2455
  5576.  
  5577. Format of argument block for BH=03h,04h:
  5578. Offset    Size    Description    (Table 2478)
  5579.  00h    WORD    size of data area (max 256)
  5580.  02h  N BYTEs    data area
  5581. SeeAlso: #2479,#2480,#2481
  5582.  
  5583. Format of argument block for BH=05h:
  5584. Offset    Size    Description    (Table 2479)
  5585.  00h    WORD    logical unit/device number
  5586.  02h    WORD    pointer to WORD buffer for cursor index
  5587.  04h    WORD    pointer to BYTE buffer for current field attribute
  5588. SeeAlso: #2478,#2480,#2481
  5589.  
  5590. Format of argument block for BH=07h:
  5591. Offset    Size    Description    (Table 2480)
  5592.  00h    WORD    logical unit/device number
  5593.  02h    WORD    ASCII data byte
  5594.  04h    WORD    pointer to WORD count of characters which will need updating
  5595. SeeAlso: #2478,#2479,#2481
  5596.  
  5597. Format of argument block for BH=08h:
  5598. Offset    Size    Description    (Table 2481)
  5599.  00h    WORD    logical unit/device number
  5600.  02h    WORD    3270 keystroke (see #2482)
  5601. SeeAlso: #2478,#2479,#2480,#2483
  5602.  
  5603. (Table 2482)
  5604. Values for 3270 keystroke:
  5605.  0000h    Enter
  5606.  0001h    Clear
  5607.  0002h    PA1
  5608.  0003h    PA2
  5609.  0004h    PA3
  5610.  0005h    PF1
  5611.  ...
  5612.  001Ch    PF24
  5613.  001Dh    CSELECT (cursor select)
  5614.  001Eh    Insert
  5615.  001Fh    Delete
  5616.  0020h    EOField
  5617.  0021h    EINPUT (erase input)
  5618.  0022h    Reset
  5619.  0023h    Attention
  5620.  0024h    SysReq
  5621.  0025h    Duplicate
  5622.  0026h    Fieldmark
  5623.  0027h    Home
  5624.  0028h    NextLine
  5625.  0029h    Tab
  5626.  002Ah    BackTab
  5627.  002Bh    cursor up
  5628.  002Ch    cursor down
  5629.  002Dh    cursor right
  5630.  002Eh    cursor left
  5631.  002Fh    double cursor right
  5632.  0030h    double cursor left
  5633.  0031h    PRINT
  5634.  0032h    CANCEL
  5635.  0033h    Backspace
  5636.  
  5637. Format of argument block for BH=0Ah:
  5638. Offset    Size    Description    (Table 2483)
  5639.  00h    WORD    logical unit/device number
  5640.  02h    WORD    screen index
  5641.  04h    WORD    pointer to WORD buffer for field length
  5642.  06h    WORD    pointer to WORD buffer for offset in screen of field start
  5643. SeeAlso: #2481,#2484
  5644.  
  5645. Format of argument block for BH=0Fh:
  5646. Offset    Size    Description    (Table 2484)
  5647.  00h    WORD    logical unit/device number
  5648.  02h    WORD    clear mask (clear these bits of status after returning status)
  5649.  04h    WORD    pointer to WORD buffer for device status (see #2485)
  5650. SeeAlso: #2483,#2486
  5651.  
  5652. Bitfields for Banyan 3270 device status:
  5653. Bit(s)    Description    (Table 2485)
  5654.  10    status modified
  5655.  9    buffer modified
  5656.  8    set cursor
  5657.  5    sound alarm
  5658.  1-0    size of print line for printer logical units
  5659.     00  unformatted line
  5660.     01  40-character line
  5661.     10  64-character line
  5662.     11  80-character line
  5663.  
  5664. Format of argument block for BH=12h:
  5665. Offset    Size    Description    (Table 2486)
  5666.  00h    WORD    pointer to WORD buffer for number of logical units or devices
  5667.  02h    WORD    pointer to WORD buffer for version number
  5668.  04h    WORD    pointer to 64-byte buffer for logical unit/device list
  5669. SeeAlso: #2484,#2487
  5670.  
  5671. Format of argument block for BH=13h:
  5672. Offset    Size    Description    (Table 2487)
  5673.  00h 16 BYTEs    communications port address (see #2458)
  5674. SeeAlso: #2486,#2488
  5675.  
  5676. Format of argument block for BH=14h:
  5677. Offset    Size    Description    (Table 2488)
  5678.  00h    WORD    logical unit/device number
  5679.         0000h attach any free device of the specified type
  5680.  02h    WORD    logical unit/device type
  5681.         (3270/SNA) 01h, 02h, or 03h
  5682.         (3270/BSC) 02h display
  5683.         (3270/BSC) 03h printer
  5684.  04h    WORD    pointer to WORD buffer for attached logical unit/device number
  5685. SeeAlso: #2487,#2489
  5686.  
  5687. Format of argument block for BH=16h:
  5688. Offset    Size    Description    (Table 2489)
  5689.  00h    WORD    pointer to 18-byte buffer for device block (see #2494)
  5690.         first WORD must be set to desired logical unit/device number
  5691. SeeAlso: #2488,#2490
  5692.  
  5693. Format of argument block for BH=17h:
  5694. Offset    Size    Description    (Table 2490)
  5695.  00h    WORD    logical unit/device number
  5696.  02h    WORD    pointer to information block in caller's DS (see #2495)
  5697. SeeAlso: #2489,#2491
  5698.  
  5699. Format of argument block for BH=18h:
  5700. Offset    Size    Description    (Table 2491)
  5701.  00h    WORD    pointer to WORD buffer for major error code
  5702.  02h    WORD    pointer to WORD buffer for minor error code
  5703. SeeAlso: #2490,#2492
  5704.  
  5705. Format of argument block for BH=19h:
  5706. Offset    Size    Description    (Table 2492)
  5707.  00h    WORD    logical unit/device number
  5708. SeeAlso: #2491,#2493
  5709.  
  5710. Format of argument block for BH=1Ch,1Dh:
  5711. Offset    Size    Description    (Table 2493)
  5712.  00h    WORD    pointer to profile block in caller's DS (see #2498)
  5713. SeeAlso: #2478,#2492
  5714.  
  5715. Format of device block, argument block for BH=15h:
  5716. Offset    Size    Description    (Table 2494)
  5717.  00h    WORD    logical unit/device number
  5718.  02h    WORD    logical unit/device type
  5719.  04h    WORD    display model number
  5720.  06h    WORD    numeric checking
  5721.  08h    WORD    status line
  5722.  0Ah    BYTE    unprotected normal field attribute
  5723.  0Bh    BYTE    unprotected intensified field attribute
  5724.  0Ch    BYTE    protected normal field attribute
  5725.  0Dh    BYTE    protected intensified field attribute
  5726.  0Eh    WORD    reserved
  5727.  10h    WORD    printer port number
  5728.  
  5729. Format of information block:
  5730. Offset    Size    Description    (Table 2495)
  5731.  00h    WORD    device model number
  5732.  02h    DWORD    screen buffer pointer
  5733.  06h    DWORD    status line pointer (see #2496)
  5734.  0Ah    DWORD    reserved
  5735.  
  5736. Format of Banyan VINES 3270 status line:
  5737. Offset    Size    Description    (Table 2496)
  5738.  00h    BYTE    comm line status
  5739.         00h inactive
  5740.         01h active
  5741.  01h    BYTE    activation level
  5742.         01h physical unit activated
  5743.         02h logical unit also activated
  5744.         03h session is bound
  5745.  02h    BYTE    data traffic state
  5746.         00h inactive
  5747.         01h active
  5748.  03h    BYTE    screen ownership
  5749.         00h SLU->PLU session owns screen
  5750.         01h SLU->SSCP session owns screen
  5751.  04h    BYTE    keyboard status (see #2497)
  5752.  05h    BYTE    insert mode
  5753.         01h if in insert mode
  5754.  06h    BYTE    numeric
  5755.         01h if current screen buffer is numeric only
  5756.  07h    BYTE    printer status
  5757.         00h printer not assigned
  5758.         01h printer is inactive
  5759.         02h printer error
  5760.         03h currently printing
  5761.         04h printer is busy
  5762.         05h printer is very busy
  5763.  08h    BYTE    printer assignment
  5764.  09h    BYTE    maximum size of network name
  5765.  0Ah  N BYTEs    ASCIZ network name
  5766.     BYTE    maximum size of message window
  5767.       M BYTEs    null-terminated message window
  5768.     BYTE    code set
  5769.         00h EBCDIC
  5770.         01h ASCII
  5771.       M BYTEs    extended attributes
  5772.         01h extended attributes are in effect (stored at screen+1920)
  5773.             each extended attribute specifies
  5774.             bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
  5775.             bits 2-4: 000=default,001=blue,010=red,011=pink,
  5776.                   100=green,101=turquoise,110=yellow,111=white
  5777.     BYTE    extended color
  5778.         01h other than base color is in effect
  5779.  
  5780. (Table 2497)
  5781. Values for Banyan VINES 3270 keyboard status:
  5782.  00h    UNLOCK - ready to accept data
  5783.  01h    TIME - aid was struck
  5784.  02h    SYSTEM - received response no restore
  5785.  03h    FUNCTION - unavailable keyboard function
  5786.  04h    INPUT - not currently used
  5787.  05h    ENDFIELD - field filled in insert mode
  5788.  06h    PROTECTED - attempt to enter in protected field
  5789.  07h    NUMERIC - attempt to enter in numeric field
  5790.  08h    PROGRAM - error in outbound data stream
  5791.  
  5792. Format of Banyan VINES 3270 profile block:
  5793. Offset    Size    Description    (Table 2498)
  5794.  00h 64 BYTEs    gateway service name
  5795.  40h 16 BYTEs    gateway comm port address
  5796.  50h    WORD    primary logical unit number
  5797.  52h    WORD    secondary logical unit type
  5798.  54h    WORD    secondary logical unit number
  5799.  56h    WORD    printer assignment
  5800.  58h 50 BYTEs    keyboard definitions filename
  5801. --------V-610002-----------------------------
  5802. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - END ZOOM
  5803.     AX = 0002h
  5804. Desc:    switches off zoom and returns window to its original state
  5805. Range:    unknown
  5806. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  5807.       obtained by calling INT 16/AH=FFh
  5808.     not all vendors include the Tseng TSR which supports these functions
  5809. SeeAlso: AX=0000h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  5810. --------N-610003SF00-------------------------
  5811. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INIT USER BUFFER PTR INFO
  5812.     AX = 0003h subfn 00h
  5813.     DS:BX -> argument block (see #2500)
  5814. Return: AX = status (see #2499)
  5815. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=08h,AX=0003h/SF=0Dh
  5816.  
  5817. (Table 2499)
  5818. Values for VINES function status:
  5819.  0000h    successful
  5820.  000Bh    invalid session ID
  5821.  000Ch    session not active
  5822.  000Dh    invalid request type
  5823.  000Eh    invalid parameters
  5824.  000Fh    out of heap space
  5825.  0010h    timeout on send
  5826.  0011h    Banyan communications error
  5827.  0012h    session not waiting for host
  5828.  0013h    session is active
  5829.  0014h    duplicate suspend session request
  5830.  0015h    no session suspended
  5831.  0016h    ring data buffer full
  5832.  0017h    printer error encountered
  5833.  0018h    Banyan communications error
  5834.  0019h    unable to make connection
  5835.  001Ah    no ring buffer specified at startup
  5836.  001Bh    service is down
  5837.  001Ch    invalid service name
  5838.  001Dh    service is closed
  5839.  001Eh    invalid connection name
  5840.  001Fh    max session limit reached for service
  5841.  0020h    access rights list for connection/dialout does not include this user
  5842.  0021h    service not responding
  5843.  0022h    missing telephone number
  5844. SeeAlso: #2455,#2503
  5845.  
  5846. Format of VINES argument block:
  5847. Offset    Size    Description    (Table 2500)
  5848.  00h    BYTE    session ID (00h)
  5849.  01h    BYTE    00h (func "initialize user buffer pointer information area")
  5850.  02h    WORD    -> user buffer ptr info area in caller's current DS (see #2501)
  5851.  
  5852. Format of user buffer ptr info area:
  5853. Offset    Size    Description    (Table 2501)
  5854.  00h    WORD    flags
  5855.         0000h don't read interface's data buffer
  5856.         0001h read data buffer
  5857.  02h    DWORD    pointer to ring buffer
  5858.  06h    WORD    length of ring buffer
  5859.  08h    WORD    ring buffer offset to last byte read by caller
  5860.  0Ah    DWORD    pointer to WORD containing offset of last byte
  5861.           in ring buffer filled
  5862.  0Eh    DWORD    pointer to screen buffer
  5863.  12h    DWORD    pointer to field containing cursor position
  5864.  16h    DWORD    pointer to terminal status area (see #2502)
  5865.  
  5866. Format of VINES terminal status area:
  5867. Offset    Size    Description    (Table 2502)
  5868.  00h    BYTE    status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
  5869.  01h    BYTE    terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
  5870.  02h    BYTE    current keypad mode (VT100,VT52 only)
  5871.         4Eh ("N") numeric mode
  5872.         41h ("A") application mode
  5873.  03h  4 BYTEs    current state of LEDs (VT100 only)
  5874.         00h off
  5875.         01h on
  5876.  07h    WORD    line error count
  5877.  09h    WORD    primary error code (see #2503)
  5878.  0Bh    WORD    secondary error code
  5879.  
  5880. (Table 2503)
  5881. Values for VINES primary error code:
  5882.  0000h    no error
  5883.  0001h    unable to make connection
  5884.  0002h    communications error, restart session
  5885.  0003h    async terminal emulation service unavailable
  5886.  0004h    lost carrier
  5887.  0005h    all matching lines busy
  5888.  0006h    no lines defined for connection name
  5889.  0007h    no dial lines available on server
  5890.  0008h    no matching dial lines available
  5891.  0009h    out of heap space
  5892.  000Ah    service error encountered
  5893.  000Bh    timed out waiting to connect
  5894.  000Ch    communications error
  5895.  000Dh    communications error
  5896.  000Eh    host wants file transferred to/from PC
  5897.  000Fh    host software changed session parameter
  5898.  0010h    host software changed tap settings
  5899.  0011h    host software changed LED indicator
  5900.  0012h    host software changed display background (secondary error code 00h for
  5901.       white on black, 01h for black on white)
  5902.  0013h    host software changed display option (secondary error code 00h for off,
  5903.       01h for on)
  5904.  0014h    communications error
  5905.  0015h    communications error
  5906.  0016h    unable to make connection
  5907.  0017h    unable to make connection
  5908. SeeAlso: #2499
  5909. --------N-610003SF01-------------------------
  5910. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SEND TO HOST
  5911.     AX = 0003h subfn 01h
  5912.     DS:BX -> argument block (see #2504)
  5913. Return: AX = status (see #2499)
  5914. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=02h,AX=0003h/SF=14h
  5915.  
  5916. Format of VINES argument block for Function 0003h subfunction 01h:
  5917. Offset    Size    Description    (Table 2504)
  5918.  00h    BYTE    session ID (00h)
  5919.  01h    BYTE    01h (function "send to host")
  5920.  02h    BYTE    type
  5921.         00h ASCII byte
  5922.         01h ASCII string
  5923.         02h terminal function code
  5924.         03h up arrow
  5925.         04h down arrow
  5926.         05h left arrow
  5927.         06h right arrow
  5928.         07h break
  5929.  03h  N BYTEs    type-specific info (see #2505)
  5930.  
  5931. Format of type-specific info:
  5932. Offset    Size    Description    (Table 2505)
  5933. ---ASCII byte---
  5934.  03h    BYTE    byte to send to host
  5935. ---ASCII string---
  5936.  03h    WORD    length of string
  5937.  05h    WORD    pointer to string
  5938. ---terminal function code (VT52/VT100)---
  5939.  03h    BYTE    function code
  5940.         00h keypad 0
  5941.         01h keypad 1
  5942.         ...
  5943.         09h keypad 9
  5944.         0Ah keypad -
  5945.         0Bh keypad ,
  5946.         0Ch keypad .
  5947.         0Dh keypad ENTER
  5948.         0Eh PF1
  5949.         0Fh PF2
  5950.         10h PF3
  5951.         11h PF4
  5952. ---terminal function code (IBM3101)---
  5953.  03h    BYTE    function code
  5954.         00h PF1
  5955.         ...
  5956.         07h PF8
  5957.         08h Home
  5958. SeeAlso: #2504
  5959. --------N-610003SF02-------------------------
  5960. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "CONTROL MONITOR"
  5961.     AX = 0003h subfn 02h
  5962.     DS:BX -> argument block (see #2506)
  5963. Return: AX = status (see #2499)
  5964. SeeAlso: AX=0003h/SF=03h,AX=0003h/SF=05h
  5965.  
  5966. Format of VINES argument block for Function 0003h subfunction 02h:
  5967. Offset    Size    Description    (Table 2506)
  5968.  00h    BYTE    session ID (00h)
  5969.  01h    BYTE    02h (function "control monitor")
  5970.  02h    BYTE    display flag
  5971.         00h don't display data received from host
  5972.         01h display data
  5973. --------N-610003SF03-------------------------
  5974. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - "FLOW CONTROL DATA"
  5975.     AX = 0003h subfn 03h
  5976.     DS:BX -> argument block (see #2507)
  5977. Return: AX = status (see #2499)
  5978. Desc:    this function permits the caller to freeze/unfreeze the display and
  5979.       the ring buffer
  5980. SeeAlso: AX=0003h/SF=02h,AX=0003h/SF=06h
  5981.  
  5982. Format of VINES argument block for Function 0003h subfunction 03h:
  5983. Offset    Size    Description    (Table 2507)
  5984.  00h    BYTE    session ID (00h)
  5985.  01h    BYTE    03h (function "flow control data")
  5986.  02h    BYTE    flow control flag
  5987.         00h allow characters to be put into display or ring buffer
  5988.         01h don't place any more characters into display or ring buffer
  5989. --------N-610003SF04-------------------------
  5990. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - END ACTIVE SESSION
  5991.     AX = 0003h subfn 04h
  5992.     DS:BX -> argument block (see #2508)
  5993. Return: AX = status (see #2499)
  5994. SeeAlso: AX=0003h/SF=0Ah,AX=0003h/SF=0Dh,AX=0003h/SF=0Fh
  5995.  
  5996. Format of VINES argument block for ending active session:
  5997. Offset    Size    Description    (Table 2508)
  5998.  00h    BYTE    session ID (00h)
  5999.  01h    BYTE    04h (function "end active session")
  6000. --------N-610003SF05-------------------------
  6001. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SESSION PARAMETER
  6002.     AX = 0003h subfn 05h
  6003.     DS:BX -> argument block (see #2509)
  6004. Return: AX = status (see #2499)
  6005. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=06h,AX=0003h/SF=08h
  6006.  
  6007. Format of VINES argument block for setting session parameters:
  6008. Offset    Size    Description    (Table 2509)
  6009.  00h    BYTE    session ID (00h)
  6010.  01h    BYTE    05h (function "set session parameter")
  6011.  02h    BYTE    parameter number (see #2510)
  6012.  03h    BYTE    new parameter value
  6013.  
  6014. (Table 2510)
  6015. Values for parameter number:
  6016.  00h    line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
  6017.           05h=300, 06h=600, 07h=1200, 08h=2400, 09h=4800, 0Ah=9600)
  6018.  01h    parity (00h=none, 01h=odd, 02h=even)
  6019.  02h    duplex (00h=full, 01h=half)
  6020.  03h    character size (00h=7 bits, 01h=8 bits)
  6021.  04h    stop bits (00h=1, 01h=2)
  6022.  05h    XON/XOFF flow control (00h=no, 01h=yes)
  6023.  07h    intercharacter delay in tenths of a second
  6024.  08h    interline delay in tenths of a second
  6025.  09h    auto linefeed (00h=no, 01h=yes)
  6026.  0Ah    filter control characters (00h=no, 01h=yes)
  6027.  0Bh    terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
  6028.  0Ch    auto wrap (00h=no, 01h=yes)
  6029.  0Dh    cursor shape (00h=underscore, 01h=block)
  6030.  0Eh    character set (00h=UK, 01h=US ASCII)
  6031.  0Fh    printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
  6032. SeeAlso: #2509
  6033. --------N-610003SF06-------------------------
  6034. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET SESSION PARAMETER
  6035.     AX = 0003h subfn 06h
  6036.     DS:BX -> argument block (see #2511)
  6037. Return: AX = status (see #2499)
  6038. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=05h,AX=0003h/SF=07h
  6039.  
  6040. Format of VINES argument block for getting session parameters:
  6041. Offset    Size    Description    (Table 2511)
  6042.  00h    BYTE    session ID (00h)
  6043.  01h    BYTE    06h (function "get session parameter")
  6044.  02h    BYTE    parameter number (see #2510)
  6045.  03h    BYTE    (ret) current parameter value
  6046. --------N-610003SF07-------------------------
  6047. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET TAB SETTINGS
  6048.     AX = 0003h subfn 07h
  6049.     DS:BX -> argument block (see #2512)
  6050. Return: AX = status (see #2499)
  6051. SeeAlso: AX=0003h/SF=05h,AX=0003h/SF=08h
  6052.  
  6053. Format of VINES argument block for setting tab settings:
  6054. Offset    Size    Description    (Table 2512)
  6055.  00h    BYTE    session ID (00h)
  6056.  01h    BYTE    07h (function "set tab settings")
  6057.  02h    WORD    pointer to 80-byte buffer in caller's current DS
  6058.           each byte = 00h if no tab, 01h if tab at that position
  6059. --------N-610003SF08-------------------------
  6060. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET TAB SETTINGS
  6061.     AX = 0003h subfn 08h
  6062.     DS:BX -> argument block (see #2513)
  6063. Return: AX = status (see #2499)
  6064. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=07h
  6065.  
  6066. Format of VINES argument block for getting tab settings:
  6067. Offset    Size    Description    (Table 2513)
  6068.  00h    BYTE    session ID (00h)
  6069.  01h    BYTE    08h (function "get tab settings")
  6070.  02h    WORD    pointer to 80-byte buffer in caller's current DS
  6071.         each byte set to 00h if no tab, 01h if tab at that position
  6072. --------N-610003SF09-------------------------
  6073. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - REFRESH EMULATION SCREEN
  6074.     AX = 0003h subfn 09h
  6075.     DS:BX -> argument block (see #2514)
  6076. Return: AX = status (see #2499)
  6077. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Bh
  6078.  
  6079. Format of VINES argument block for Function 0003h subfunction 09h:
  6080. Offset    Size    Description    (Table 2514)
  6081.  00h    BYTE    session ID (00h)
  6082.  01h    BYTE    09h (function "refresh emulation screen")
  6083. --------N-610003SF0A-------------------------
  6084. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SUSPEND SESSION TEMPORARILY
  6085.     AX = 0003h subfn 0Ah
  6086.     DS:BX -> argument block (see #2515)
  6087. Return: AX = status (see #2499)
  6088. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=09h,AX=0003h/SF=0Bh,AX=0003h/SF=0Dh
  6089.  
  6090. Format of VINES argument block:
  6091. Offset    Size    Description    (Table 2515)
  6092.  00h    BYTE    session ID (00h)
  6093.  01h    BYTE    0Ah (function "suspend session temporarily")
  6094.  02h    WORD    size of session information to be saved
  6095.  04h    WORD    pointer to buffer in caller's DS
  6096. --------N-610003SF0B-------------------------
  6097. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESUME SUSPENDED SESSION
  6098.     AX = 0003h subfn 0Bh
  6099.     DS:BX -> argument block (see #2516)
  6100. Return: AX = status (see #2499)
  6101. SeeAlso: AX=0003h/SF=09h,AX=0003h/SF=0Ah
  6102.  
  6103. Format of VINES argument block:
  6104. Offset    Size    Description    (Table 2516)
  6105.  00h    BYTE    session ID (00h)
  6106.  01h    BYTE    0Bh (function "restore previously suspended session")
  6107.  02h    WORD    size of buffer into which session info is restored
  6108.  04h    WORD    pointer to buffer in caller's DS
  6109. --------N-610003SF0C-------------------------
  6110. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - SET SCROLL LOCK CHECKING
  6111.     AX = 0003h subfn 0Ch
  6112.     DS:BX -> argument block (see #2517)
  6113. Return: AX = status (see #2499)
  6114. SeeAlso: AX=0003h/SF=00h
  6115.  
  6116. Format of VINES argument block:
  6117. Offset    Size    Description    (Table 2517)
  6118.  00h    BYTE    session ID (00h)
  6119.  01h    BYTE    0Ch (function "set state of scroll lock checking")
  6120.  02h    BYTE    check_scroll_lock flag
  6121.         00h off
  6122.         01h on (display of host data stopped while ScrollLock on)
  6123. --------N-610003SF0D-------------------------
  6124. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - EXIT EMULATION
  6125.     AX = 0003h subfn 0Dh
  6126.     DS:BX -> argument block (see #2518)
  6127. Return: AX = status (see #2499)
  6128. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Ah
  6129.  
  6130. Format of VINES argument block:
  6131. Offset    Size    Description    (Table 2518)
  6132.  00h    BYTE    session ID (00h)
  6133.  01h    BYTE    0Dh (function "exit emulation")
  6134. --------N-610003SF0E-------------------------
  6135. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON CHAR FROM HOST
  6136.     AX = 0003h subfn 0Eh
  6137.     DS:BX -> argument block (see #2519)
  6138. Return: AX = status (see #2499)
  6139. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=14h
  6140.  
  6141. Format of VINES argument block:
  6142. Offset    Size    Description    (Table 2519)
  6143.  00h    BYTE    session ID (00h)
  6144.  01h    BYTE    0Eh (function "interrupt on character from host")
  6145.  02h    DWORD    pointer to routine to be called (0000h:0000h = don't call)
  6146.  06h    DWORD    stack pointer to use when call is made
  6147. --------N-610003SF0F-------------------------
  6148. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START A SESSION
  6149.     AX = 0003h subfn 0Fh
  6150.     DS:BX -> argument block (see #2520)
  6151. Return: AX = status (see #2499)
  6152. SeeAlso: AX=0003h/SF=04h,AX=0003h/SF=0Bh
  6153.  
  6154. Format of VINES argument block:
  6155. Offset    Size    Description    (Table 2520)
  6156.  00h    BYTE    session ID (00h)
  6157.  01h    BYTE    0Fh (function "start a session")
  6158.  02h    WORD    pointer to information area in caller's current DS (see #2521)
  6159.  
  6160. Format of VINES information area:
  6161. Offset    Size    Description    (Table 2521)
  6162.  00h    WORD    length of service name
  6163.  02h    WORD    pointer to service name in caller's DS
  6164.  04h    BYTE    type of connection (00h=connection name, 01h=dialout)
  6165.  05h    WORD    length of connection name/telephone number
  6166.  07h    WORD    pointer to connection name/telephone number
  6167. --------N-610003SF10-------------------------
  6168. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP PRINTING
  6169.     AX = 0003h subfn 10h
  6170.     DS:BX -> argument block (see #2522)
  6171. Return: AX = status (see #2499)
  6172. SeeAlso: AX=0003h/SF=06h,AX=0003h/SF=13h
  6173.  
  6174. Format of VINES argument block:
  6175. Offset    Size    Description    (Table 2522)
  6176.  00h    BYTE    session ID (00h)
  6177.  01h    BYTE    10h (function "start/stop printing of data received from host")
  6178.  02h    WORD    print capture flag (00h=off, 01h=on)
  6179. --------N-610003SF11-------------------------
  6180. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET FILE TRANSFER PARAMETERS
  6181.     AX = 0003h subfn 11h
  6182.     DS:BX -> argument block (see #2523)
  6183. Return: AX = status (see #2499)
  6184. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
  6185.  
  6186. Format of VINES argument block:
  6187. Offset    Size    Description    (Table 2523)
  6188.  00h    BYTE    session ID (00h)
  6189.  01h    BYTE    11h (function "get file transfer parameters")
  6190.  02h    WORD    pointer to info area in caller's current DS (see #2524)
  6191.  
  6192. Format of VINES info area:
  6193. Offset    Size    Description    (Table 2524)
  6194.  00h    BYTE    protocol flag (00h none, 01h Kermit)
  6195.  01h    BYTE    direction flag (00h send, 01h receive)
  6196.  02h    BYTE    length of null-terminated PC filename
  6197.  03h    DWORD    pointer to null-terminated PC filename
  6198.  07h    BYTE    length of null-terminated host filename
  6199.  08h    DWORD    pointer to null-terminated host filename
  6200. --------N-610003SF12-------------------------
  6201. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - GET CONNECTION INFORMATION
  6202.     AX = 0003h subfn 12h
  6203.     DS:BX -> argument block (see #2525)
  6204. Return: AX = status (see #2499)
  6205. SeeAlso: AX=0003h/SF=11h,AX=0003h/SF=15h
  6206.  
  6207. Format of VINES argument block:
  6208. Offset    Size    Description    (Table 2525)
  6209.  00h    BYTE    session ID (00h)
  6210.  01h    BYTE    12h (function "get connection information")
  6211.  02h    WORD    offset of buffer for connection information (see #2526)
  6212.  
  6213. Format of VINES connection information:
  6214. Offset    Size    Description    (Table 2526)
  6215.  00h    WORD    length of service name (returned)
  6216.  02h    WORD    pointer to 64-byte buffer for service name
  6217.  04h    BYTE    type of connection
  6218.         00h connection name
  6219.         01h dialout
  6220.  05h    WORD    length of connection name/telephone number
  6221.  07h    WORD    pointer to 64-byte buffer for name/telno
  6222.  09h    BYTE    server line number being used (returned)
  6223. --------N-610003SF13-------------------------
  6224. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - START/STOP TRACING TRAFFIC
  6225.     AX = 0003h subfn 13h
  6226.     DS:BX -> argument block (see #2527)
  6227. Return: AX = status (see #2499)
  6228. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=0Eh
  6229.  
  6230. Format of VINES argument block:
  6231. Offset    Size    Description    (Table 2527)
  6232.  00h    BYTE    session ID (00h)
  6233.  01h    BYTE    13h (function "start/stop tracing data traffic in session")
  6234.  02h    BYTE    trace flag (00h=off, 01h=on)
  6235. --------N-610003SF14-------------------------
  6236. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - INTERRUPT ON HOST MESSAGE
  6237.     AX = 0003h subfn 14h
  6238.     DS:BX -> argument block (see #2528)
  6239. Return: AX = status (see #2499)
  6240. SeeAlso: AX=0003h/SF=0Eh
  6241.  
  6242. Format of VINES argument block:
  6243. Offset    Size    Description    (Table 2528)
  6244.  00h    BYTE    session ID (00h)
  6245.  01h    BYTE    14h (function "interrupt on message from host")
  6246.  02h    DWORD    pointer to routine to be called (0000h:0000h = don't call)
  6247.  06h    DWORD    stack pointer to use when call is made
  6248. --------N-610003SF15-------------------------
  6249. INT 61 - Banyan VINES - ASYNC TERMINAL EMULATION - RESET ERROR
  6250.     AX = 0003h subfn 15h
  6251.     DS:BX -> argument block (see #2529)
  6252. Return: AX = status (see #2499)
  6253. SeeAlso: AX=0003h/SF=00h,AX=0003h/SF=12h
  6254.  
  6255. Format of VINES argument block:
  6256. Offset    Size    Description    (Table 2529)
  6257.  00h    BYTE    session ID (00h)
  6258.  01h    BYTE    15h (function "reset error")
  6259. --------V-610003-----------------------------
  6260. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - REPORT ZOOM FACTOR
  6261.     AX = 0003h
  6262. Return: AX = zoom factor
  6263. Desc:    returns the current zoom factor
  6264. Range:    unknown
  6265. Notes:    INT 61h is the default interrupt; the actual interrupt number can be
  6266.       obtained by calling INT 16/AH=FFh
  6267.     not all vendors include the Tseng TSR which supports these functions
  6268. SeeAlso: AX=0000h"OPTIMA",AX=0005h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  6269. --------N-610004-----------------------------
  6270. INT 61 - Banyan VINES - FILE SERVICE CONTROL
  6271.     AX = 0004h
  6272.     DS:DX -> request block (see #2531)
  6273. Return: AX = status (see #2530)
  6274. Notes:    This service is handled by the redirector
  6275.     The request dispatch table contains dummy entries for requests 0Ah,
  6276.       0Dh, 15h, 19h, and 1Ah, which always return error 0033h (invalid
  6277.       request ID)
  6278.  
  6279. (Table 2530)
  6280. Values for Banyan VINES file service control status code:
  6281.  0000h    successful
  6282.  0002h    file not found
  6283.  0003h    path not found
  6284.  000Fh    invalid drive
  6285.  0015h    drive not ready
  6286.  0033h    invalid request ID
  6287.  0034h    drive not connected
  6288.  0037h    drive number out of range
  6289.  0038h    drive number not available
  6290.  003Ah    invalid operation
  6291.  0055h    drive already connected
  6292.  0057h    invalid number of entries
  6293.  
  6294. Format of Banyan VINES file service request block:
  6295. Offset    Size    Description    (Table 2531)
  6296.  00h    WORD    request ID (1..28)
  6297.  02h  n BYTES    additional parameters and result buffer
  6298. --------N-610004SF0001-----------------------
  6299. INT 61 - Banyan VINES - SET DRIVE CONNECTION
  6300.     AX = 0004h subfn 0001h
  6301.     DS:DX -> request block (see #2532)
  6302. Return: AX = status (0000h,0037h,0038h,0055h) (see #2530)
  6303. Desc:    Maps the specified file service to a DOS drive letter
  6304. Note:    If an empty service name is specified, an existing connection will
  6305.       be removed
  6306. SeeAlso: AX=0004h/SF=0002h
  6307.  
  6308. Format of VINES Function 0004h/Subfunction 0001h request block:
  6309. Offset    Size    Description    (Table 2532)
  6310.  00h    WORD    0001h
  6311.  02h    BYTE    drive number (0=default, 1=A, ...)
  6312.  03h 16    BYTEs    reserved
  6313.  13h 64    BYTEs    null-terminated file service name
  6314.  53h  5    BYTEs    reserved
  6315. --------N-610004SF0002-----------------------
  6316. INT 61 - Banyan VINES - GET DRIVE CONNECTION
  6317.     AX = 0004h subfn 0002h
  6318.     DS:DX -> request block (see #2533)
  6319. Return: AX = status (0000h,0034h,0037h) (see #2530)
  6320. Desc:    Returns the StreetTalk name of the associated file service
  6321. SeeAlso: AX=0004h/SF=0001h,AX=0004h/SF=0003h
  6322.  
  6323. Format of VINES Function 0004h/Subfunction 0002h request block:
  6324. Offset    Size    Description    (Table 2533)
  6325.  00h    WORD    0002h
  6326.  02h    BYTE    drive number (0=default, 1=A, ...)
  6327.  03h 16    BYTEs    reserved
  6328.  13h 64    BYTEs    buffer for null-terminated file service name
  6329.  53h  5    BYTEs    reserved
  6330. --------N-610004SF0003-----------------------
  6331. INT 61 - Banyan VINES - GET NETWORK DRIVE MAP
  6332.     AX = 0004h subfn 0003h
  6333.     DS:DX -> request block (see #2534)
  6334. Return: AX = status
  6335.         0000h drive map returned in request block
  6336. Desc:    Returns a bit map indicating which drive numbers are connected to a
  6337.       file service
  6338. Note:    Only bits 0-25 are significant
  6339. SeeAlso: AX=0004h/SF=0002h
  6340.  
  6341. Format of VINES Function 0004h/Subfunction 0003h request block:
  6342. Offset    Size    Description    (Table 2534)
  6343.  00h    WORD    0003h
  6344.  02h    DWORD    buffer for drive map (bit0=A, bit1=B, ...)
  6345. --------N-610004SF0004-----------------------
  6346. INT 61 - Banyan VINES - SET USER NAME
  6347.     AX = 0004h subfn 0004h
  6348.     DS:DX -> request block (see #2535)
  6349. Return: AX = status (0000h) (see #2530)
  6350. Notes:    Other side effects, if any, not known
  6351. SeeAlso: AX=0004h/SF=0005h,AX=0006h/SF=0004h,AX=0007h/BX=0005h
  6352.  
  6353. Format of VINES Function 0004h/Subfunction 0004h request block:
  6354. Offset    Size    Description    (Table 2535)
  6355.  00h    WORD    0004h
  6356.  02h 64    BYTE    null-terminated user name
  6357. --------N-610004SF0005-----------------------
  6358. INT 61 - Banyan VINES - GET USER NAME
  6359.     AX = 0004h subfn 0005h
  6360.     DS:DX -> request block (see #2536)
  6361. Return: AX = status (see also #2530)
  6362.         0000h user name returned in request block
  6363. Desc:    Returns the StreetTalk name of the currently logged in user
  6364. SeeAlso: AX=0004h/SF=0004h,AX=0006h/SF=0004h,AX=0007h/BX=0005h
  6365. SeeAlso: AX=0004h/SF=0004h
  6366.  
  6367. Format of VINES Function 0004h/Subfunction 0005h request block:
  6368. Offset    Size    Description    (Table 2536)
  6369.  00h    WORD    0005h (subfunction "Get User Name")
  6370.  02h 64    BYTE    buffer for null-terminated user name
  6371. --------N-610004SF0006-----------------------
  6372. INT 61 - Banyan VINES - TEST DRIVE CONNECTION
  6373.     AX = 0004h subfn 0006h
  6374.     DS:DX -> request block (see #2537)
  6375. Return: AX = status (see also #2530)
  6376.         0000h connection flag returned in request block
  6377. Desc:    Returns a flag indicating if the drive is connected to a file service
  6378. SeeAlso: AX=0004h/SF=0007h
  6379.  
  6380. Format of VINES Function 0004h/Subfunction 0006h request block:
  6381. Offset    Size    Description    (Table 2537)
  6382.  00h    WORD    0006h (subfunction "Test Drive Connection")
  6383.  02h    BYTE    buffer for connection flag (1 = not connected, 2 = connected)
  6384. --------N-610004SF0007-----------------------
  6385. INT 61 - Banyan VINES - GET CONNECTION DATA STRUCTURES
  6386.     AX = 0004h subfn 0007h
  6387.     DS:DX -> request block (see #2538)
  6388. Return: AX = status (see also #2530)
  6389.         0000h pointer returned in request block
  6390.         0033h invalid request ID
  6391. Desc:    Returns pointers to various internal data structures
  6392.  
  6393. Format of VINES Function 0004h/Subfunction 0007h request block:
  6394. Offset    Size    Description    (Table 2538)
  6395.  00h    WORD    0007h
  6396.  02h    BYTE    request ID (0..7) (see #2539)
  6397.  03h    WORD    buffer for pointer segment
  6398.  05h    WORD    buffer for pointer offset
  6399. SeeAlso: #2540,#2541
  6400.  
  6401. (Table 2539)
  6402. Values for VINES pointer ID:
  6403.  00h    job file table ???
  6404.  01h    drive handle table
  6405.  02h    drive connection table
  6406.  03h    IPC port of drive Z:
  6407.  04h    end of drive connection table
  6408.  05h    ???
  6409.  06h    ???
  6410.  07h    redirector data segment (offset=0)
  6411. SeeAlso: #2538
  6412.  
  6413. Format of VINES drive handle table:
  6414. Offset    Size    Description    (Table 2540)
  6415.  00h    BYTE    handle to default drive (0 = not connected)
  6416.  01h    BYTE    handle to drive A: (0 = not connected)
  6417.     ...
  6418.  1Ah    BYTE    handle to drive Z: (0 = not connected)
  6419. SeeAlso: #2541
  6420.  
  6421. Format of VINES drive connection table:
  6422. Offset    Size    Description    (Table 2541)
  6423.  00h    WORD    file service type (?) (0001h if drive Z:, 0000h else)
  6424.  02h 16    BYTEs    IPC port (contains the server serial number)
  6425.  12h 46    BYTEs    ???
  6426.  40h 64    BYTEs    null-terminated StreetTalk name of associated file service
  6427.  80h 64    BYTEs    null-terminated root directory (/ROOT: parameter of SETDRIVE)
  6428. SeeAlso: #2540
  6429. --------N-610004SF0008-----------------------
  6430. INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
  6431.     AX = 0004h subfn 0008h
  6432.     DS:DX -> request block (see #2542)
  6433. Return: AX = status (0000h,000Fh,0015h) (see #2530)
  6434. Notes:    The server ID is extracted from the IPC port address of the associated
  6435.       file service stored in the drive connection table
  6436.     The server serial number and the server subnet number are returned in
  6437.       big-endian (Motorola) format (i.e. MSB first)
  6438. SeeAlso: AX=0004h/SF=0005h
  6439.  
  6440. Format of VINES request block for getting server serial number:
  6441. Offset    Size    Description    (Table 2542)
  6442.  00h    WORD    0008h
  6443.  02h    WORD    drive number (0=default, 1=A, ...)
  6444.  04h    DWORD    buffer for server serial number
  6445.  08h    WORD    buffer for server subnet number (always 0001h)
  6446. --------N-610004SF0009-----------------------
  6447. INT 61 - Banyan VINES - SET ??? PARAMETER
  6448.     AX = 0004h subfn 0009h
  6449.     DS:DX -> request block (see #2543)
  6450. Return: AX = status (0000h) (see #2530)
  6451. Notes:    The specified WORD parameter is copied to offset 1702h of the
  6452.       redirector code segment (revision 5.53)
  6453. SeeAlso: AX=0004h/SF=000Bh
  6454.  
  6455. Format of VINES Function 0004h/Subfunction 0009h request block:
  6456. Offset    Size    Description    (Table 2543)
  6457.  00h    WORD    0009h
  6458.  02h    WORD    parameter
  6459. --------N-610004SF000B-----------------------
  6460. INT 61 - Banyan VINES - GET ??? DRIVE PARAMETER
  6461.     AX = 0004h subfn 000Bh
  6462.     DS:DX -> request block (see #2544)
  6463. Return: AX = status (0000h,0034h,0037h) (see #2530)
  6464. Notes:    This request returns a WORD value from the drive connection table
  6465.       read from offset 0012h of the specified drive's entry (usually 0037h)
  6466. SeeAlso: AX=0004h/SF=0009h
  6467.  
  6468. Format of VINES Function 0004h/Subfunction 000Bh request block:
  6469. Offset    Size    Description    (Table 2544)
  6470.  00h    WORD    000Bh
  6471.  02h    BYTE    drive number (0=default, 1=A, ...)
  6472.  03h    WORD    buffer for parameter
  6473. --------N-610004SF000C-----------------------
  6474. INT 61 - Banyan VINES - LOGOUT FROM VINES
  6475.     AX = 0004h subfn 000Ch
  6476.     DS:DX -> request block (see #2545)
  6477. Return: AX = status 0000h (see #2530)
  6478. Desc:    Terminates a running VINES session and clears all session specific
  6479.       buffers
  6480. SeeAlso: AX=0004h/SF=0008h
  6481.  
  6482. Format of VINES Function 0004h/Subfunction 000Ch request block:
  6483. Offset    Size    Description    (Table 2545)
  6484.  00h    WORD    000Ch
  6485. --------N-610004SF000E-----------------------
  6486. INT 61 - Banyan VINES - GET ACCESS RIGHTS LIST (ARL)
  6487.     AX = 0004h subfn 000Eh
  6488.     DS:DX -> request block (see #2546)
  6489. Return: AX = status (see also #2530)
  6490.         0000h request has been processed
  6491. Desc:    Returns the owner, group, and extended access rights for the specified
  6492.       file or directory
  6493. Note:    A status of 0000h does not necessarily indicate a successful request;
  6494.       check the status word at offset 000Eh of the request block too
  6495. SeeAlso: AX=0004h/SF=000Fh
  6496.  
  6497. Format of VINES Function 0004h/Subfunction 000Eh request block:
  6498. Offset    Size    Description    (Table 2546)
  6499.  00h    WORD    000Eh (subfunction "Get Access Rights List")
  6500.  02h    BYTE    drive number (0=default, 1=A, ...)
  6501.  03h    BYTE    reserved
  6502.  04h    DWORD    pointer to path specification (drive letter ignored)
  6503.  08h    DWORD    pointer to ARL control block (see #2547)
  6504.  0Ch    WORD    buffer for number of ARL entries (1..5)
  6505.  0Eh    WORD    buffer for status (see #2548)
  6506.  
  6507. Format of ARL control block:
  6508. Offset    Size    Description    (Table 2547)
  6509.  00h 64    BYTEs    1st StreetTalk name (user, list, or service)
  6510.  40h    WORD    1st ARL
  6511.  42h 64    BYTEs    2nd StreetTalk name (user, list, or service)
  6512.  82h    WORD    2nd ARL
  6513.  84h 64    BYTEs    3rd StreetTalk name (user, list, or service)
  6514.  C4h    WORD    3rd ARL
  6515.  C6h 64    BYTEs    4th StreetTalk name (user, list, or service)
  6516. 106h    WORD    4th ARL
  6517. 108h 64    BYTEs    5th StreetTalk name (user, list, or service)
  6518. 148h    WORD    5th ARL
  6519.  
  6520. (Table 2548)
  6521. Values for VINES Get/Set Access Rights List status:
  6522.  0000h    successful
  6523.  0002h    file not found
  6524.  0003h    path not found
  6525.  003Ah    invalid operation
  6526.  0057h    invalid number of entries
  6527. --------N-610004SF000F-----------------------
  6528. INT 61 - Banyan VINES - SET ACCESS RIGHTS LIST (ARL)
  6529.     AX = 0004h subfn 000Fh
  6530.     DS:DX -> request block (see #2549)
  6531. Return: AX = status (see also #2530)
  6532.         0000h request has been processed
  6533. Desc:    Sets the owner, group, and extended access rights for the specified
  6534.       file or directory
  6535. Note:    A status of 0000h does not necessarily indicate a successful request;
  6536.       check the status word at offset 000Eh of the request block too
  6537.     If the number of ARL entries is less than 1 or greater than 5, error
  6538.       0057h (invalid number of entries) is returned
  6539. SeeAlso: AX=0004h/SF=000Eh
  6540.  
  6541. Format of VINES Function 0004h/Subfunction 000Fh request block:
  6542. Offset    Size    Description    (Table 2549)
  6543.  00h    WORD    000Fh
  6544.  02h    BYTE    drive number (0=default, 1=A, ...)
  6545.  03h    BYTE    reserved
  6546.  04h    DWORD    pointer to path specification (drive letter ignored)
  6547.  08h    DWORD    pointer to ARL control block (see #2547)
  6548.  0Ch    WORD    number of ARL entries (1..5)
  6549.  0Eh    WORD    buffer for status (see #2548)
  6550. --------N-610004SF0010-----------------------
  6551. INT 61 - Banyan VINES - FILE SERVICE CONTROL - ???
  6552.     AX = 0004h subfn 0010h
  6553.     DS:DX -> request block (see #2550)
  6554. Return: AX = status (see also #2530)
  6555.         0000h request has been processed
  6556. SeeAlso: AX=0004h/SF=000Fh
  6557.  
  6558. Format of VINES Function 0004h/Subfunction 0010h request block:
  6559. Offset    Size    Description    (Table 2550)
  6560.  00h    WORD    0010h
  6561.  02h    BYTE    drive number (0=default, 1=A, ...)
  6562.  03h    BYTE    reserved
  6563.  04h 64    BYTEs    ???
  6564.  44h 16    BYTEs    IPC port (see #2458 at AX=0001h"Sosock")
  6565. --------N-610004SF0013-----------------------
  6566. INT 61 - Banyan VINES - GET VALUE OF GLOBAL VARIABLE
  6567.     AX = 0004h subfn 0013h
  6568.     DS:DX -> request block (see #2551)
  6569. Return: AX = status (see also #2530)
  6570.         0000h successful
  6571.         0033h invalid request ID (returned if variable index out of range)
  6572. Desc:    Returns the value of the specified global variable
  6573. Note:    The data will be truncated if the specified buffer is not large enough.
  6574.       Check the length word in the request block to find out how many
  6575.       bytes should have been copied.
  6576. SeeAlso: AX=0004h/SF=0014h,AX=0006h
  6577.  
  6578. Format of request block:
  6579. Offset    Size    Description    (Table 2551)
  6580.  00h    WORD    0013h
  6581.  02h    WORD    variable index (0000h-001Fh) (see #2552)
  6582.  04h    WORD    buffer length (on exit set to # of bytes actually needed)
  6583.  06h    DWORD    far pointer to result buffer
  6584. SeeAlso: #2553
  6585.  
  6586. (Table 2552)
  6587. Values for variable indices:
  6588. Index    Length    Description
  6589.  0000h       1    ???
  6590.  0001h      16    StreetTalk port
  6591.  0002h       4    StreetTalk session handle
  6592.  0003h       6    colors
  6593.  0004h      64    StreetTalk name of currently logged in user
  6594.  0005h       0    old clear text password (not applicable)
  6595.  0006h       0    default group (not applicable)
  6596.  0007h       1    number of messages in message queue
  6597.  0008h       1    message flag
  6598.  0009h      16    TalkPort
  6599.  000Ah       2    TalkPort socket
  6600.  000Bh      64    StreetTalk name of mail service
  6601.  000Ch       2    message timeout
  6602.  000Dh       2    next message place
  6603.  000Eh     246    message queue (3 times 80 characters + 2 flag bytes)
  6604.  000Fh      14    system nonce
  6605.  0010h       2    failed login count
  6606.  0011h       1    new mail message received
  6607.  0012h       8    mail service capabilities
  6608.  0013h       3    printer port diverted
  6609.  0014h      32    international location
  6610.  0015h      16    IPC port of drive Z:
  6611.  0016h    1024    pointer to current directory table
  6612.  0017h       2    maximum number of file volume mappings
  6613.  0018h      24    routine to call back for messages (6 far pointers)
  6614.  0019h       4    current virtual machine
  6615.  001Ah      20    DOS redirector message bell tones
  6616.  001Bh       2    various flags used for internal communication
  6617.  001Ch       0    OS/2 client configuration (not applicable)
  6618.  001Dh       8    redirector/IFS file version
  6619.  001Eh       0    reserved (not applicable)
  6620.  001Fh       4    address of VVINESD.386 dispatch
  6621. --------N-610004SF0014-----------------------
  6622. INT 61 - Banyan VINES - SET VALUE OF GLOBAL VARIABLE
  6623.     AX = 0004h subfn 0014h
  6624.     DS:DX -> request block (see #2553)
  6625. Return: AX = status
  6626.         0000h successful
  6627.         0033h invalid request ID (returned if variable index out of range)
  6628. Desc:    Assigns a new value to the specified global variable
  6629. Note:    If the specified number of bytes to copy exceeds the size of the
  6630.       destination variable, nothing will be copied.
  6631. SeeAlso: AX=0004h/SF=0013h,AX=0006h
  6632.  
  6633. Format of request block:
  6634. Offset    Size    Description    (Table 2553)
  6635.  00h    WORD    0014h
  6636.  02h    WORD    variable index (0000h-001Fh) (see #2552)
  6637.  04h    WORD    number of bytes to copy
  6638.  06h    DWORD    far pointer to new value
  6639. SeeAlso: #2551
  6640. --------N-610004SF0016-----------------------
  6641. INT 61 - Banyan VINES - GET NUMBER OF OPEN FILES ON REMOTE DRIVE
  6642.     AX = 0004h subfn 0016h
  6643.     DS:DX -> request block (see #2554)
  6644. Return: AX = status
  6645.         0000h open file count returned in request block
  6646. Desc:    Counts the number of open files on the specified remote drive.
  6647. Note:    No error is returned if the specified drive number is invalid or points
  6648.       to a local drive. Use AX=0004h/SF=0006h to test if a given drive
  6649.       number is assigned to a remote drive.
  6650. SeeAlso: AX=0004h/SF=0006h
  6651.  
  6652. Format of request block:
  6653. Offset    Size    Description    (Table 2554)
  6654.  00h    WORD    0016h
  6655.  02h    BYTE    drive number (0=default, 1=A:, ...)
  6656.  03h    BYTE    reserved
  6657.  04h    WORD    buffer for open file count
  6658. SeeAlso: #2556
  6659. --------N-610004SF0018-----------------------
  6660. INT 61 - Banyan VINES - SET UNIDENTIFIED INTERNAL FLAG
  6661.     AX = 0004h subfn 0018h
  6662.     DS:DX -> request block (see #2555)
  6663. Return: AX = status
  6664.         0000h success
  6665. Desc:    Sets an unidentified BYTE variable in the redirector data segment to 1.
  6666. Note:    In the VINES 5.53 "REDIR4" redirector, this variable is located at
  6667.       DS:0B53.
  6668.  
  6669. Format of request block:
  6670. Offset    Size    Description    (Table 2555)
  6671.  00h    WORD    0018h
  6672. SeeAlso: #2556
  6673. --------N-610004SF001B-----------------------
  6674. INT 61 - Banyan VINES - UNIDENTIFIED DRIVE SPECIFIC FUNCTION
  6675.     AX = 0004h subfn 001Bh
  6676.     DS:DX -> request block (see #2556)
  6677. Return: AX = status
  6678.         0000h success
  6679.         0034h drive not connected
  6680.         0037h drive number out of range
  6681. Desc:    The purpose of this function is not known.
  6682.  
  6683. Format of request block:
  6684. Offset    Size    Description    (Table 2556)
  6685.  00h    WORD    001Bh
  6686.  02h    BYTE    drive number (0=default, 1=A:, ...)
  6687.  03h    BYTE    ???
  6688.  04h    WORD    ???
  6689.  06h    DWORD    far pointer to data area
  6690.  0Ah    WORD    ???
  6691.  0Ch    DWORD    far pointer to data area
  6692.  10h    WORD    buffer for result
  6693. SeeAlso: #2554,#2556
  6694. --------N-610004SF001C-----------------------
  6695. INT 61 - Banyan VINES - UNIDENTIFIED FUNCTION
  6696.     AX = 0004h subfn 001Ch
  6697.     DS:DX -> request block (see #2557)
  6698. Return: AX = status
  6699.         0000h success
  6700.         0057h invalid number of entries
  6701. Desc:    The purpose of this function is not known.
  6702.  
  6703. Format of request block:
  6704. Offset    Size    Description    (Table 2557)
  6705.  00h    WORD    001Ch
  6706.  02h    WORD    ???
  6707.  04h    WORD    ???
  6708.  06h    WORD    ???
  6709.  08h    WORD    ???
  6710.  0Ah    DWORD    far pointer to data area (14 bytes)
  6711. --------V-610004-----------------------------
  6712. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - ENTER SPECIFY MODE
  6713.     AX = 0004h
  6714. Range:    unknown
  6715. Notes:    Specify Mode is enabled by hot key (seeAlso below), and allows
  6716.       panning and zooming via the numeric keypad.
  6717.     INT 61 is the default interrupt; the actual interrupt number can be
  6718.       obtained by calling INT 16/AH=FFh
  6719.     not all vendors include the Tseng TSR which supports these functions
  6720. SeeAlso: AX=0000h"OPTIMA",AX=0007h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  6721. --------N-610005-----------------------------
  6722. INT 61 - Banyan VINES - PRINT SERVICE CONTROL
  6723.     AX = 0005h
  6724.     DS:DX -> request block (see #2558)
  6725. Return: AX = status
  6726.         0000h successful
  6727.         0001h network software not installed or incompatible
  6728. Note:    This service is handled by the redirector
  6729. SeeAlso: INT 2F/AX=D702h
  6730.  
  6731. Format of VINES request block for printer control:
  6732. Offset    Size    Description    (Table 2558)
  6733.  00h    WORD    function
  6734.         0201h "endspool" all data for a print job has been sent
  6735.               (no bytes returned)
  6736.         0202h "deassign" the virtual printer port
  6737.             Before the printer port is deassigned all data sent
  6738.               to it is endspooled.
  6739.               (no bytes returned)
  6740.         0205h "get_active" get currently active printer port
  6741.               (1 byte required for result)
  6742.             Returns:  - the currently active printer port (1-3) (0 if
  6743.                   there is none)
  6744.         0207h ??? purpose unknown; called periodically every second
  6745.         020Ch "get_bannertitle" gets the title which is printed on the
  6746.               banner page of a print job sent to the virtual port
  6747.               (16 bytes required for result)
  6748.             Returns:  - the null-terminated banner title
  6749.         020Eh "get_servicename" gets the name of the print service
  6750.               assigned to the virtual port
  6751.               (64 bytes required for result)
  6752.             Returns:  - the null-terminated print service name assigned
  6753.                   to the virtual port
  6754.  02h    WORD    number of active port (1-3)
  6755.  04h    WORD    Offset into the request block at which the result is to be
  6756.         copied (if there is any). Therefore the smallest block size
  6757.         for a function which returns a result is
  6758.           this offset + the maximum number of returned bytes - 1
  6759.  06h    WORD    0000h
  6760. --------V-610005-----------------------------
  6761. INT 61 - OPTIMA 1024 VGA-Sync - QUERY ZOOM WINDOW
  6762.     AX = 0005h
  6763.     BX:CX -> buffer for window parameters (see #2559)
  6764. Range:    unknown
  6765. Notes:    INT 61 is the default interrupt; the actual interrupt number can be
  6766.       obtained by calling INT 16/AH=FFh
  6767.     not all vendors include the Tseng TSR which supports these functions
  6768. SeeAlso: AX=0000h"OPTIMA",AX=0003h"OPTIMA",AX=0006h"OPTIMA"
  6769. SeeAlso: INT 16/AH=FFh"OPTIMA"
  6770.  
  6771. Format of Optima 1024 window parameters:
  6772. Offset    Size    Description    (Table 2559)
  6773.  00h    WORD    X start of zoom window
  6774.  02h    WORD    Y start of zoom window
  6775.  04h    WORD    X end of zoom window
  6776.  06h    WORD    Y end of zoom window
  6777.  08h    WORD    current zoom factor
  6778.  0Ah    WORD    zoom offset start X
  6779.  0Ch    WORD    zoom offset start Y
  6780. --------V-610006-----------------------------
  6781. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM WINDOW
  6782.     AX = 0006h
  6783.     BX:CX -> zoom window description (see #2560)
  6784. Range:    unknown
  6785. Notes:    width of zoom window must be a multiple of the pixel replication (zoom)
  6786.       factor
  6787.     INT 61 is the default interrupt; the actual interrupt number can be
  6788.       obtained by calling INT 16/AH=FFh
  6789.     not all vendors include the Tseng TSR which supports these functions
  6790. SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0005h"OPTIMA",AX=0008h"OPTIMA"
  6791. SeeAlso: INT 16/AH=FFh"OPTIMA"
  6792.  
  6793. Format of Optima 1024 zoom window description:
  6794. Offset    Size    Description    (Table 2560)
  6795.  00h    WORD    X start of zoom window
  6796.  02h    WORD    Y start of zoom window
  6797.  04h    WORD    X end of zoom window
  6798.  06h    WORD    Y end of zoom window
  6799. --------N-610006-----------------------------
  6800. INT 61 - Banyan VINES - GET ADDRESS OF GLOBAL VARIABLE
  6801.     AX = 0006h
  6802.     BX = bits 14..0: request ID (see #2561)
  6803.          bit  15:     result destination flag (0 for ES:BX, 1 for AX:BX)
  6804. Return: AX = status
  6805.         0000h successful
  6806.         000Bh invalid request
  6807.     ES:BX -> internal variable (bit 15 of BX was not set)
  6808.     AX:BX -> internal variable (bit 15 of BX was set)
  6809. Note:    This service is handled by the redirector
  6810. SeeAlso: AX=0004h/SF=0013h,AX=0004h/SF=0014h
  6811.  
  6812. (Table 2561)
  6813. Values for request IDs:
  6814. Request    Length    Description
  6815.  0000h       1    ???
  6816.  0001h      16    StreetTalk port
  6817.  0002h       4    StreetTalk session handle
  6818.  0003h       6    colors
  6819.  0004h      64    StreetTalk name of currently logged in user
  6820.  0005h       0    old clear text password (always returns error code 000Bh)
  6821.  0006h       0    default group (not applicable)
  6822.  0007h       1    message queue count
  6823.  0008h       1    message flag
  6824.  0009h      16    TalkPort
  6825.  000Ah       2    TalkPort socket
  6826.  000Bh      64    StreetTalk name of mail service
  6827.  000Ch       2    message timeout
  6828.  000Dh       2    next message place
  6829.  000Eh     246    message queue
  6830.  000Fh      14    system nonce
  6831.  0010h       2    failed login count
  6832.  0011h       1    new mail message received
  6833.  0012h       8    mail capabilities
  6834.  0013h       3    printer port diverted
  6835.  0014h      32    international location
  6836.  0015h      16    IPC port of drive Z:
  6837.  0016h    1024    pointer to current directory table
  6838.  0017h       2    maximum number of file volume mappings
  6839.  0018h      24    routine to call back for messages
  6840.  0019h       4    current virtual machine
  6841.  001Ah      20    DOS redirector message bell tones
  6842.  001Bh       2    various flags used for internal communication
  6843.  001Ch       0    OS/2 client configuration (always returns error code 000Bh)
  6844.  001Dh       8    redirector/IFS file version
  6845.  001Eh       0    reserved (always returns error code 000Bh)
  6846.  001Fh       4    address of VVINESD.386 dispatch
  6847. --------V-610007-----------------------------
  6848. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY APPLICATION KEY
  6849.     AX = 0007h
  6850. Return: AX = current state (0000h/0001h)
  6851. Desc:    returns the current toggle state of the application (END) key in
  6852.       specify mode. E.g. in the OPTIMA AutoCAD driver, 0 means AutoCAD
  6853.       calls INT 61/AX=0001h every time the crosshair cursor moves.
  6854. Notes:    In specify mode, the END key has been reserved for applications.
  6855.     INT 61 is the default interrupt; the actual interrupt number can be
  6856.       obtained by calling INT 16/AH=FFh
  6857.     not all vendors include the Tseng TSR which supports these functions
  6858. SeeAlso: AX=0000h"OPTIMA",AX=0001h"OPTIMA",AX=0004h"OPTIMA"
  6859. SeeAlso: INT 16/AH=FFh"OPTIMA",INT 7A/AX=0001h"AutoCAD"
  6860. --------N-610007BX0000-----------------------
  6861. INT 61 - Banyan VINES - RECONNECT TO STREETTALK
  6862.     AX = 0007h
  6863.     BX = 0000h
  6864. Return: AX = status (see #2562)
  6865. SeeAlso: AX=0007h/BX=0002h
  6866.  
  6867. (Table 2562)
  6868. Values for VINES function status:
  6869.  0000h    successful
  6870.  0001h    requested handler not installed or incompatible
  6871.  000Bh    service busy
  6872.  000Ch    invalid request ID
  6873.  03E9h    incorrect name syntax
  6874.  03EAh    organization name too long
  6875.  03EBh    group name too long
  6876.  03ECh    item name too long
  6877.  03EDh    StreetTalk name too long
  6878.  03F3h    organization not found
  6879.  03F4h    group not found
  6880.  03F5h    StreetTalk name not found
  6881.  03F8h    not a StreetTalk name
  6882.  0409h    modify access denied
  6883.  040Dh    appropriate StreetTalk name unavailable
  6884.  0411h    all matching names have been returned
  6885.  0412h    some groups unavailable, all available matches returned
  6886. --------N-610007BX0001-----------------------
  6887. INT 61 - Banyan VINES - GET MM PORT FOR A SERVICE
  6888.     AX = 0007h
  6889.     BX = 0001h
  6890.     DS:DX -> StreetTalk service name (64 bytes)
  6891.     DS:DI -> 16-byte buffer for IPC port (see #2458 at AX=0001h"Sosock")
  6892. Return: AX = status (see #2562)
  6893. Notes:    This function calls AX=0007/BX=0002h with the port count set to 1 and
  6894.       the port type set to 00h
  6895. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=000Ah
  6896. --------N-610007BX0002-----------------------
  6897. INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
  6898.     AX = 0007h
  6899.     BX = 0002h
  6900.     DS:DX -> StreetTalk service name
  6901.     DS:DI -> port record block (see #2563)
  6902. Return: AX = status (see #2562)
  6903. Note:    if the requested number of ports is greater than five, it will be reset
  6904.       to five
  6905. SeeAlso: AX=0007h,BX=0001h,AX=0007h/BX=0003h,AX=0007h/BX=0004h
  6906. SeeAlso: AX=0007h/BX=000Ah
  6907.  
  6908. Format of VINES port record block:
  6909. Offset    Size    Description    (Table 2563)
  6910.  00h    WORD    (call) number of 17-byte elements (01h-05h) to be filled
  6911.  02h    BYTE    (call) port type for first port
  6912.  03h 16 BYTEs    (ret) port (see #2458)
  6913.  13h    BYTE    (call) port type for second port
  6914.  14h 16 BYTEs    (ret) port (see #2458)
  6915.  24h    BYTE    (call) port type for third port
  6916.  25h 16 BYTEs    (ret) port (see #2458)
  6917.  35h    BYTE    (call) port type for fourth port
  6918.  36h 16 BYTEs    (ret) port (see #2458)
  6919.  46h    BYTE    (call) port type for fifth port
  6920.  47h 16 BYTEs    (ret) port (see #2458)
  6921.  57h    BYTE    reserved
  6922. SeeAlso: #2565
  6923. --------N-610007BX0003-----------------------
  6924. INT 61 - Banyan VINES - FIND A SERVICE
  6925.     AX = 0007h
  6926.     BX = 0003h
  6927.     DS:DX -> port control block (see #2564)
  6928. Return: AX = status (see AX=0007h)
  6929. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0004h,AX=0007h/BX=0005h
  6930.  
  6931. Format of port control block:
  6932. Offset    Size    Description    (Table 2564)
  6933.  00h    WORD    ???
  6934.  02h    WORD    ???
  6935.  04h 16    BYTEs    IPC port (see #2458 at AX=0001h"Sosock")
  6936.  14h  5    WORDs    ???
  6937. SeeAlso: #2570
  6938. --------N-610007BX0004-----------------------
  6939. INT 61 - Banyan VINES - SET PORTS FOR A SERVICE
  6940.     AX = 0007h
  6941.     BX = 0004h
  6942.     DS:DX -> StreetTalk name of service (max 64 bytes)
  6943.     DS:DI -> port record block (see #2565)
  6944. Return: AX = status (see #2562)
  6945. SeeAlso: AX=0007h/BX=0002h,AX=0007h/BX=0003h,AX=0007h/BX=000Ah
  6946.  
  6947. Format of VINES port record block:
  6948. Offset    Size    Description    (Table 2565)
  6949.  00h    WORD    number of 17-byte elements
  6950.  02h    BYTE    port type for first port
  6951.  03h 16 BYTEs    first IPC port (see #2458)
  6952.  13h    BYTE    port type for second port
  6953.  14h 16 BYTEs    second IPC port (see #2458)
  6954.  24h    BYTE    port type for third port
  6955.  25h 16 BYTEs    third IPC port (see #2458)
  6956.  35h    BYTE    port type for fourth port
  6957.  36h 16 BYTEs    fourth IPC port (see #2458)
  6958.  46h    BYTE    port type for fifth port
  6959.  47h 16 BYTEs    fifth IPC port (see #2458)
  6960.  57h    BYTE    reserved
  6961. SeeAlso: #2563
  6962. --------N-610007BX0005-----------------------
  6963. INT 61 - Banyan VINES - GET USER NAME
  6964.     AX = 0007h
  6965.     BX = 0005h
  6966.     DS:DX -> 64-byte buffer for user's StreetTalk name
  6967. Return: AX = status (see also #2562)
  6968.         0000h successful
  6969.         0001h network software not installed or incompatible
  6970. Note:    if no user logged in, first byte of returned name will be 00h
  6971. SeeAlso: AX=0007h/BX=0007h
  6972. --------N-610007BX0006-----------------------
  6973. INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
  6974.     AX = 0007h
  6975.     BX = 0006h
  6976.     SI = error code (>100)
  6977.     DS:DX -> 80-byte buffer for error text
  6978. Return: AX = status (see also #2562)
  6979.         0000h successful
  6980.         0001h network software not installed or incompatible
  6981. --------N-610007BX0007-----------------------
  6982. INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
  6983.     AX = 0007h
  6984.     BX = 0007h
  6985.     DS:DX -> NiceName block (see #2566)
  6986. Return: AX = status (see #2562)
  6987. SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0008h
  6988.  
  6989. Format of VINES NiceName block:
  6990. Offset    Size    Description    (Table 2566)
  6991.  00h    WORD    type of name
  6992.         0064h (100) organization
  6993.         00C8h (200) group
  6994.         012Ch (300) item
  6995.  02h    WORD    pointer to ASCIZ input name
  6996.  04h    WORD    pointer to 64-byte buffer for output name
  6997. SeeAlso: #2567
  6998. --------N-610007BX0008-----------------------
  6999. INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
  7000.     AX = 0007h
  7001.     BX = 0008h
  7002.     DS:DX -> enumerate block (see #2567)
  7003. Return: AX = status (see also #2562)
  7004.         0000h successful
  7005.         0411h all matching names have been returned
  7006.         0412h some groups unavailable, all available matches returned
  7007. Note:    each program using this call should continue until a nonzero status
  7008.       is returned; otherwise, some resources will not be freed for several
  7009.       hours
  7010. SeeAlso: AX=0007h/BX=0005h,AX=0007h/BX=0007h,AX=0007h/BX=0009h
  7011.  
  7012. Format of VINES enumerate block:
  7013. Offset    Size    Description    (Table 2567)
  7014.  00h    WORD    return code
  7015.  02h    WORD    pointer to pattern string
  7016.  04h    WORD    enumerate type
  7017.         0064h (100) organization
  7018.         00C8h (200) group
  7019.         012Ch (300) item
  7020.  06h    WORD    enumerate class
  7021.         0000h unspecified (return all matching items)
  7022.         0001h user names
  7023.         0002h service names
  7024.         0003h list names
  7025.         0004h nicknames
  7026.  08h    WORD    pointer to category criteria block (see #2568) or 0
  7027.  0Ah    WORD    pointer to array of 64-byte returned names
  7028.  0Ch    WORD    number of names returned
  7029.  0Eh  6 BYTEs    reserved for subsequent enumerated calls (set to zeros on first
  7030.           call)
  7031. SeeAlso: #2566
  7032.  
  7033. Format of category criteria block:
  7034. Offset    Size    Description    (Table 2568)
  7035.  00h    WORD    exclude flag
  7036.         0000h return only items with the specified categories
  7037.         0001h return all items except those with the given categories
  7038.  02h    WORD    number of categories (max 5, 0000h = match all categories)
  7039.  04h    WORD    category 1 value (see #2569)
  7040.  06h    WORD    category 2 value
  7041.  08h    WORD    category 3 value
  7042.  0Ah    WORD    category 4 value
  7043.  0Ch    WORD    category 5 value
  7044. SeeAlso: #2567
  7045.  
  7046. (Table 2569)
  7047. Values for common VINES service categories:
  7048.  0001h    server service
  7049.  0002h    file service
  7050.  0003h    print service
  7051.  0004h    mail service
  7052.  0005h    StreetTalk
  7053.  0006h    time service
  7054.  0007h    FTP service
  7055.  0008h    semaphore service
  7056.  0009h    3270/SNA service
  7057.  000Ah    terminal emulation service
  7058.  000Bh    asynchronous terminal service
  7059.  000Ch    NETBIOS service
  7060.  000Dh    PC-based service
  7061.  000Eh    BSC service
  7062.  000Fh    APPC service
  7063.  0010h    NM service
  7064.  0011h    VS service
  7065.  0012h    POP service
  7066.  0013h    AFP service
  7067.  0014h    VCS service
  7068.  0015h    EMS service
  7069.  0016h    LN service
  7070.  0017h    BS service
  7071.  0023h    RIPL service
  7072.  0064h    ADM service
  7073. SeeAlso: #2568
  7074. --------N-610007BX0009-----------------------
  7075. INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING (SELECTED PORT)
  7076.     AX = 0007h
  7077.     BX = 0009h
  7078.     SI = error code
  7079.     DS:DX -> 80-byte buffer for error text
  7080.     DS:DI -> IPC port (16 bytes; see AX=0001h#"Sosock" for port format)
  7081. Return: AX = status (see AX=0007h)
  7082. Note:    Same as AX=0007h/BX=0006h, except IPC port is specified explicitly
  7083. SeeAlso: AX=0007h/BX=0006h
  7084. --------N-610007BX000A-----------------------
  7085. INT 61 - Banyan VINES - internal, OS/2 only - GET MANY PORTS FOR SERVICE
  7086.     AX = 0007h
  7087.     BX = 000Ah
  7088.     DS:DX -> port control block (see #2570)
  7089. Return: AX = status (see AX=0007h)
  7090. Note:    This function cannot be called from applications, as the DS register
  7091.       is checked against the redirector data segment address (status code
  7092.       0001h will be returned if DS doesn't match)
  7093. SeeAlso: AX=0007h/BX=0001h,AX=0007h/BX=0002h,AX=0007h/BX=0004h
  7094.  
  7095. Format of port control block:
  7096. Offset    Size    Description    (Table 2570)
  7097.  00h    WORD    ???
  7098.  02h    WORD    ???
  7099.  04h 16    BYTEs    IPC port (see #2458 at AX=0001h"Sosock")
  7100.  14h 14 WORDs    ???
  7101. SeeAlso: #2564
  7102. --------V-610008-----------------------------
  7103. INT 61 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - SET ZOOM OFFSET
  7104.     AX = 0008h
  7105.     BX = X start of zoom offset
  7106.     CX = Y start of zoom offset
  7107. Desc:    specifies the first byte of video memory to appear in the zoom window
  7108. Range:    unknown
  7109. Notes:    INT 61 is the default interrupt; the actual interrupt number can be
  7110.       obtained by calling INT 16/AH=FFh
  7111.     not all vendors include the Tseng TSR which supports these functions
  7112. SeeAlso: AX=0000h"OPTIMA",AX=0006h"OPTIMA",INT 16/AH=FFh"OPTIMA"
  7113. --------N-610008BX0000-----------------------
  7114. INT 61 - Banyan VINES - TALKPORT SERVICE - GET HANDLER ADDRESS
  7115.     AX = 0008h
  7116.     BX = 0000h
  7117. Return: AX = status
  7118.         0000h successful
  7119.     ES:DX = far pointer to handler
  7120. Desc:    The TalkPort is a facility to display event messages (e.g. mail
  7121.       received, printing on a local printer, ...) on the screen
  7122. Note:    This service is handled by the redirector
  7123. SeeAlso: AX=0008h/BX=0001h,AX=0008h/BX=0002h
  7124. --------N-610008BX0001-----------------------
  7125. INT 61 - Banyan VINES - TALKPORT SERVICE - SET HANDLER ADDRESS
  7126.     AX = 0008h
  7127.     BX = 0001h
  7128.     ES:DX -> new handler
  7129. Return: AX = status
  7130.         0000h successful
  7131. SeeAlso: AX=0008h/BX=0000h
  7132. --------N-610008BX0002-----------------------
  7133. INT 61 - Banyan VINES - TALKPORT SERVICE - POST MESSAGE ON LOCAL DISPLAY
  7134.     AX = 0008h
  7135.     BX = 0002h
  7136.     CX = message display flags (see #2571)
  7137.     DS:DX -> ASCIZ string to display (only first 80 chars used)
  7138. Return: AX = status
  7139.         0000h successful
  7140.         000Bh message display function currently busy
  7141.         000Ch message queue full
  7142. Notes:    queues up to three messages to be displayed on the bottom line
  7143.     This service is handled by the redirector
  7144.     In a DOS session, TalkPort messages are displayed on display line 25;
  7145.       in a Windows session, TalkPort messages are displayed in dialog boxes
  7146. SeeAlso: AX=0008h/BX=0000h,AX=0008h/BX=0003h
  7147.  
  7148. Bitfields for VINES message display flags:
  7149. Bit(s)    Description    (Table 2571)
  7150.  0    message will remain on screen until user presses ^X
  7151.  1    ring bell after displaying message
  7152.  2    blink
  7153. --------N-610008BX0003-----------------------
  7154. INT 61 - Banyan VINES - TALKPORT SERVICE - INTERCEPT VINES 25th-LINE MESSAGES
  7155.     AX = 0008h
  7156.     BX = 0003h
  7157.     DS:DX -> request block (see #2572)
  7158. Return: AX = status
  7159.         0000h successful
  7160.         0001h network software not installed or incompatible
  7161. Notes:    message handler should not call BIOS or DOS functions, and should
  7162.       either call next handler or simply return
  7163.     to stop intercepting messages, set prev and next request blocks to
  7164.       point at each other
  7165. SeeAlso: AX=0008h/BX=0002h
  7166.  
  7167. Format of VINES request block for 25-th line messages:
  7168. Offset    Size    Description    (Table 2572)
  7169.  00h    DWORD    pointer to user-written message handler
  7170.  04h    DWORD    pointer to next request block (filled in by VINES)
  7171.  08h    DWORD    pointer to previous request block (filled in by VINES)
  7172.  0Ch    DWORD    pointer to message storage area (filled by VINES) (see #2573)
  7173.  
  7174. Format of message storage area:
  7175. Offset    Size    Description    (Table 2573)
  7176.  00h 16 BYTEs    IPC port of message sender (see #2458)
  7177.  10h    BYTE    message flags
  7178.  11h    WORD    reserved
  7179.  13h    BYTE    length of message
  7180.  14h 80 BYTEs    message text
  7181. SeeAlso: #2572
  7182. --------N-610009-----------------------------
  7183. INT 61 - Banyan VINES - NETBIOS CLIENT SERVICE
  7184.     AX = 0009h
  7185.     other parameters, if any, unknown
  7186. --------N-61000A-----------------------------
  7187. INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
  7188.     AX = 000Ah
  7189. Note:    either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
  7190.       which is loaded second.  The first interface loaded will use AX=0002h
  7191. SeeAlso: INT 61/AX=0002h
  7192. --------N-61000B-----------------------------
  7193. INT 61 - Banyan VINES - SEMAPHORE SERVICE
  7194.     AX = 000Bh
  7195.     other parameters, if any, unknown
  7196. --------N-61000C-----------------------------
  7197. INT 61 - Banyan VINES - 3270 KEYBOARD HANDLER
  7198.     AX = 000Ch
  7199.     other parameters, if any, unknown
  7200. --------N-61000D-----------------------------
  7201. INT 61 - Banyan VINES - T3270 SERVICE FUNCTION
  7202.     AX = 000Dh
  7203.     other parameters, if any, unknown
  7204. --------N-61000E-----------------------------
  7205. INT 61 - Banyan VINES - ENHANCED 3270 SERVICE
  7206.     AX = 000Eh
  7207.     other parameters, if any, unknown
  7208. --------N-61000F-----------------------------
  7209. INT 61 - Banyan VINES - VINES SOCKET API (FAR DATA)
  7210.     AX = 000Fh
  7211.     CX:BX -> request block (see #2574)
  7212.     DX = application's data segment (should be = CX)
  7213.     ES = DS
  7214. Return: AX = status
  7215.         0000h successful
  7216.         0099h invalid operation
  7217.         00A5h resource not available
  7218. Desc:    StreetTalk access with session handles
  7219. Notes:    This service is handled by the adapter driver
  7220.     The request dispatch table contains dummy entries for subfunctions
  7221.       06h, 0Dh, 0Eh, 0Fh, 10h, and 11h, which always return error 0099h
  7222.       (invalid operation) in the request block's result buffer
  7223.     This interface does the same as the corresponding AX=0001h interface,
  7224.       but with a slightly modified request block structure (i.e it allows
  7225.       FAR parameter block pointers) and without expecting DS=0001h
  7226.     Some adapter drivers (e.g. the NDIS2 token ring driver NDTOKBAN for
  7227.       VINES 5.53) ignore the value in CX and use the value from DX instead
  7228. SeeAlso: AX=0001h,AX=000Fh/SF=0001h
  7229.  
  7230. Format of request block:
  7231. Offset    Size    Description    (Table 2574)
  7232.  00h    WORD    subfunction number (01h-16h)
  7233.  02h    WORD    magic number (FEFEh)
  7234.  04h    WORD    buffer for return code (set to 0 before calling)
  7235.  06h    WORD    reserved (will be set to client DS)
  7236.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  7237.  0Ah    DWORD    far pointer to parameter block
  7238.  0Eh    WORD    StreetTalk handle
  7239. SeeAlso: #2454 at INT 61/AX=0001h
  7240. --------N-61000FSF0001-----------------------
  7241. INT 61 - Banyan VINES - OPEN SOCKET
  7242.     AX = 000Fh subfn 0001h
  7243.     CX:BX -> request block (see #2575)
  7244.     DX = application's data segment (should be = CX)
  7245.     ES = DS
  7246. Return: AX = status
  7247.         0000h successful
  7248.         00A5h resource not available
  7249. Desc:    Opens a socket and returns a socket handle
  7250.  
  7251. Format of request block:
  7252. Offset    Size    Description    (Table 2575)
  7253.  00h    WORD    0001h
  7254.  02h    WORD    magic number (FEFEh)
  7255.  04h    WORD    buffer for return code (set to 0 before calling)
  7256.  06h    WORD    reserved (will be set to client DS)
  7257.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  7258.  0Ah    DWORD    far pointer to parameter block (see #2576)
  7259.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  7260.  
  7261. Format of parameter block:
  7262. Offset    Size    Description    (Table 2576)
  7263.  00h    WORD    reserved
  7264.  02h    WORD    address family (0003h = VINES)
  7265.  04h    WORD    socket type (0001h = IPC, 0002h = SPP)
  7266.  06h    WORD    protocol number (FFFFh = default protocol)
  7267.  08h    WORD    reserved
  7268.  0Ah    WORD    local port number (0 = transient, 1..1FFh = well-known port)
  7269.  0Ch    DWORD    far pointer to socket handle buffer (2 bytes)
  7270.  10h    DWORD    far pointer to IPC port buffer (16 bytes)
  7271. SeeAlso: #2575
  7272. --------N-61000FSF0002-----------------------
  7273. INT 61 - Banyan VINES - SEND MESSAGE ON A SOCKET
  7274.     AX = 000Fh subfn 0002h
  7275.     CX:BX -> request block (see #2577)
  7276.     DX = application's data segment (should be = CX)
  7277.     ES = DS
  7278. Return: AX = status
  7279.         0000h successful
  7280.         00A5h resource not available
  7281. Desc:    send data to a socket identified by its socket handle
  7282.  
  7283. Format of request block:
  7284. Offset    Size    Description    (Table 2577)
  7285.  00h    WORD    0002h
  7286.  02h    WORD    magic number (FEFEh)
  7287.  04h    WORD    buffer for return code (set to 0 before calling)
  7288.  06h    WORD    reserved (will be set to client DS)
  7289.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  7290.  0Ah    DWORD    far pointer to parameter block (see #2578)
  7291.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  7292.  
  7293. Format of parameter block:
  7294. Offset    Size    Description    (Table 2578)
  7295.  00h    WORD    buffer for estimated communication cost in 220 msec ticks
  7296.  02h    WORD    buffer for return code (set to 0 before calling)
  7297.  04h    WORD    socket handle
  7298.  06h    DWORD    far pointer to IPC/SPP message buffer
  7299.  0Ah    WORD    length of IPC/SPP message buffer
  7300.  0Ch    WORD    option flags
  7301.         bit 0: asynchronous communication
  7302.         bit 1: reliable message
  7303.         bit 3: end of message
  7304.         bit 4: vectored I/O
  7305.  0Eh 16    BYTEs    socket address (IPC port of source)
  7306.  1Eh    WORD    not used (set to 0 before calling)
  7307.  20h    WORD    SPP connection id (0 for IPC messages)
  7308.  22h    WORD    request type (1 = data, 2 = connect SPP, 3 = disconnect SPP)
  7309. SeeAlso: #2577
  7310. --------N-61000FSF0004-----------------------
  7311. INT 61 - Banyan VINES - CLOSE SOCKET
  7312.     AX = 000Fh subfn 0004h
  7313.     CX:BX -> request block (see #2579)
  7314.     DX = application's data segment (should be = CX)
  7315.     ES = DS
  7316. Return: AX = status
  7317.         0000h successful
  7318.         00A5h resource not available
  7319. Desc:    Closes a socket identified by its socket handle
  7320.  
  7321. Format of request block:
  7322. Offset    Size    Description    (Table 2579)
  7323.  00h    WORD    0004h
  7324.  02h    WORD    magic number (FEFEh)
  7325.  04h    WORD    buffer for return code (set to 0 before calling)
  7326.  06h    WORD    reserved (will be set to client DS)
  7327.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  7328.  0Ah    DWORD    far pointer to socket handle (2 bytes)
  7329.  0Eh    WORD    process handle (see AX=000Fh/SF=0008h)
  7330. --------N-61000FSF0008-----------------------
  7331. INT 61 - Banyan VINES - GET PROCESS HANDLE
  7332.     AX = 000Fh subfn 0008h
  7333.     CX:BX -> request block (see #2580)
  7334.     DX = application's data segment (should be = CX)
  7335.     ES = DS
  7336. Return: AX = status
  7337.         0000h successful
  7338.         00A5h resource not available
  7339. Desc:    Returns a process handle to be used in other request blocks
  7340. Notes:    This function is a prerequisite to all AX=000Fh subfunctions which
  7341.       expect a process handle in the request block
  7342.     Although subsequent calls from the same application return different
  7343.       process handles, there seem to be no restrictions on how many times
  7344.       an application may call this function (in fact, the code in the VINES
  7345.       toolkit library always calls it before issueing other AX=000Fh calls)
  7346.  
  7347. Format of request block:
  7348. Offset    Size    Description    (Table 2580)
  7349.  00h    WORD    0008h
  7350.  02h    WORD    magic number (FEFEh)
  7351.  04h    WORD    buffer for return code (set to 0 before calling)
  7352.  06h    WORD    reserved
  7353.  08h    WORD    reserved (obviously not used; set to 0 before calling)
  7354.  0Ah    DWORD    process type (1 = transient, 2 = resident; destroyed on exit)
  7355.  0Eh    WORD    buffer for process handle
  7356. --------N-610010-----------------------------
  7357. INT 61 - Banyan VINES - INTERFACE TO NBNS
  7358.     AX = 0010h
  7359.     other parameters, if any, unknown
  7360. --------N-6101-------------------------------
  7361. INT 61 - Banyan VINES - CHECK SERVICE
  7362.     AH = 01h
  7363.     AL = service ID (see #2581)
  7364. Return: AX = status
  7365.         0000h installed
  7366.         0001h not installed
  7367.         0002h invalid ID
  7368.         0003h invalid function
  7369. Note:    Only the offset part of the service pointer is checked for a nonzero
  7370.       value
  7371. SeeAlso: AH=00h,AH=02h"VINES",AH=03h"VINES"
  7372.  
  7373. (Table 2581)
  7374. Values for VINES service ID:
  7375.  01h    communications
  7376.  02h    primary 3270 emulation
  7377.  03h    async terminal emulation
  7378.  04h    file deflection
  7379.  05h    print service control
  7380.  06h    get address of something
  7381.  07h    StreetTalk access service
  7382.  08h    environment
  7383.  09h    NETBIOS client service
  7384.  0Ah    secondary 3270 emulation
  7385.  0Bh    semaphore service
  7386.  0Ch    3270 emulation active status
  7387.  0Dh    T3270 keyboard interrupt simulator
  7388.  0Eh    enhanced 3270 service
  7389.  0Fh    comm Windows entry point
  7390.  10h    interface to NBNS
  7391. --------N-6101--BX0000-----------------------
  7392. INT 61 u - PC/TCP kernel v2.1+ - "net_config" - CONFIGURE RUNNING KERNEL
  7393.     AH = 01h
  7394.     BX = 0000h
  7395.     DH = tag number
  7396.     DL = device number
  7397.     DS:SI -> buffer to send to kernel
  7398.     ES:DI -> integer containing size of buffer
  7399. Return: CF clear if successful
  7400.     CF set on error
  7401.         AX = error code (see #2449 at INT 61"PC/TCP")
  7402. Range:    INT 20 to INT E0, selected by configuration
  7403. Notes:    there are a large number of tags available; the items returned
  7404.       all refer to local kernel configuration, and are not needed in
  7405.       normal use.
  7406.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7407. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=02"PC/TCP"
  7408. --------N-6102-------------------------------
  7409. INT 61 - Banyan VINES - GET REVISION NUMBER
  7410.     AH = 02h
  7411.     DS:DX -> 2-byte buffer for result
  7412. Return: AX = 0000h installed
  7413.         DS:DX buffer contains revision number as
  7414.         10000d * major_ver + 100d * minor_ver + patch_revision
  7415. SeeAlso: AH=01h"VINES",AH=04h"VINES",AH=07h"VINES"
  7416. --------N-6102--BX0000-----------------------
  7417. INT 61 u - PC/TCP kernel v2.1+ - "get_kernel_info" - GET MISCELLAN LOCAL INFO
  7418.     AH = 02h
  7419.     BX = 0000h
  7420.     DH = tag number
  7421.     DL = device number
  7422.     DS:SI -> buffer for result (up to 48 bytes for version <= 2.2)
  7423.     ES:DI -> integer containing size of buffer
  7424. Return: CF clear if successful
  7425.         Data loaded into specified buffer, and size value altered
  7426.     CF set on error
  7427.         AX = error code (see #2449 at INT 61"PC/TCP")
  7428. Range:    INT 20 to INT E0, selected by configuration
  7429. Notes:    there are a large number of tags available; the items returned
  7430.       all refer to local kernel configuration, and are not needed in
  7431.       normal use.
  7432.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7433. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
  7434. --------N-6103-------------------------------
  7435. INT 61 - Banyan VINES - INSTALL SERVICE HANDLER
  7436.     AH = 03h
  7437.     AL = service ID (see #2581)
  7438.     DS:DX -> new service handler
  7439. Return: AX = 0000h successful
  7440. SeeAlso: AH=00h,AH=01h"VINES",AH=02h"VINES",AH=05h"VINES"
  7441. --------N-6104-------------------------------
  7442. INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE
  7443.     AH = 04h
  7444.     DS:DX -> 2-byte buffer containing the VINES revision number
  7445.         DS:DX buffer contains revision number as
  7446.         10000d * major_ver + 100d * minor_ver + patch_revision
  7447. Return: AX = status
  7448.         0000h valid version
  7449.         0004h out of range
  7450. Note:    For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
  7451. SeeAlso: AH=02h"VINES",AH=07h"VINES",AH=08h"VINES"
  7452. --------N-6105-------------------------------
  7453. INT 61 - PC/TCP kernel v2.05+ - "get_addr" - GET INTERNET ADDRESS OF NET DESCR
  7454.     AH = 05h
  7455.     BX = network descriptor
  7456. Return: CF clear if successful
  7457.         DX:AX = Internet address of ND
  7458.     CF set on error
  7459.         AX = error code (see #2449 at INT 61"PC/TCP")
  7460. Range:    INT 20 to INT E0, selected by configuration
  7461. Notes:    the installation check consists of testing for the signature "TCPTSR"
  7462.       three bytes beyond the start of the interrupt handler
  7463. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=16h"PC/TCP"
  7464. SeeAlso: INT 63/AH=25h"BW-TCP"
  7465. --------N-6105-------------------------------
  7466. INT 61 - Banyan VINES - READ PCCONFIG BYTES
  7467.     AH = 05h
  7468.     CX = number of bytes to copy
  7469.         (max. 0175h for VINES 4.00, max. 017Fh for VINES 4.10+)
  7470.     SI = offset of area to be copied (see #2582,#2583)
  7471. Return: AX = status
  7472.         0000h successful
  7473.         0004h out of range
  7474. Notes:    The PCCONFIG area is located in the code segment of the BANV handler
  7475.     To find out which PCCONFIG structure applies, call this function first
  7476.       with CX=0006h to get the VINES revision number
  7477. SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=06h"VINES",AH=0Bh"VINES"
  7478.  
  7479. Format of PCCONFIG area (VINES 4.00):
  7480. Offset    Size    Description    (Table 2582)
  7481.  00h  6    BYTEs    VINES revision (ASCII, zero-padded)
  7482.  06h  2    BYTEs    NEWREV-number (ASCII, two digits)
  7483.  08h    WORD    hardware interrupt level
  7484.  0Ah    WORD    DMA channel
  7485.  0Ch    WORD    I/O address
  7486.  0Eh    DWORD    adapter ROM address (linear)
  7487.  12h    DWORD    adapter RAM address (linear)
  7488.  16h    WORD    BANV interrupt
  7489.  18h 32    BYTEs    default login group #1
  7490.  38h 32    BYTEs    default login group #2
  7491.  58h 32    BYTEs    default login group #3
  7492.  78h    WORD    semaphore locking support flag
  7493.  7Ah    WORD    extended StreetTalk flag
  7494.  7Ch    WORD    maximum number of file volumes
  7495.  7Eh    WORD    NetBIOS flag
  7496.  80h 60    BYTEs    default network adapter
  7497.  BCh 60    BYTEs    default communications driver
  7498.  F8h    WORD    maximum number of SPP connections
  7499.  FAh    WORD    maximum number of open sockets
  7500.  FCh    WORD    communications buffer size (10..60 KB)
  7501.  FEh 20    BYTEs    location directory on drive Z:
  7502. 112h 33    BYTEs    auxiliary configuration area #1 (see #2584)
  7503. 133h 33    BYTEs    auxiliary configuration area #2
  7504. 154h 33    BYTEs    auxiliary configuration area #3
  7505. SeeAlso: #2583
  7506.  
  7507. Format of PCCONFIG area (VINES 4.10+):
  7508. Offset    Size    Description    (Table 2583)
  7509.  00h  6    BYTEs    VINES revision (ASCII, zero-padded)
  7510.  06h  2    BYTEs    NEWREV-number (ASCII, two digits)
  7511.  08h    WORD    hardware interrupt level
  7512.  0Ah    WORD    DMA channel
  7513.  0Ch    WORD    I/O address
  7514.  0Eh    DWORD    adapter ROM address (linear)
  7515.  12h    DWORD    adapter RAM address (linear)
  7516.  16h    WORD    BANV interrupt
  7517.  18h 32    BYTEs    default login group #1
  7518.  38h 32    BYTEs    default login group #2
  7519.  58h 32    BYTEs    default login group #3
  7520.  78h    WORD    semaphore locking support flag
  7521.  7Ah    WORD    extended StreetTalk flag
  7522.  7Ch    WORD    named pipes support flag
  7523.  7Eh    WORD    maximum number of file volumes
  7524.  80h    WORD    NetBIOS flag
  7525.  82h 60    BYTEs    default network adapter
  7526.  BEh 60    BYTEs    default communications driver
  7527.  FAh    WORD    maximum number of SPP connections
  7528.  FCh    WORD    maximum number of open sockets
  7529.  FEh    WORD    communications buffer size (10..60 KB)
  7530. 100h    WORD    number of mailslots
  7531. 102h    WORD    maximum number of open files
  7532. 104h    WORD    maximum number of NetBIOS sessions
  7533. 106h    WORD    maximum number of NetBIOS commands
  7534. 108h 20    BYTEs    location directory on drive Z:
  7535. 11Ch 33    BYTEs    auxiliary configuration area #1 (see #2584)
  7536. 13Dh 33    BYTEs    auxiliary configuration area #2
  7537. 15Eh 33    BYTEs    auxiliary configuration area #3
  7538.  
  7539. Format of auxiliary configuration area:
  7540. Offset    Size    Description    (Table 2584)
  7541.  00h 16    BYTEs    item name (no zero terminator if length = 16)
  7542.  10h    BYTE    item value type (1=text, else numeric)
  7543.  11h 16    BYTEs    item value (string if type 1, else DWORD)
  7544. SeeAlso: #2582,#2583
  7545. --------N-6106-------------------------------
  7546. INT 61 - PC/TCP kernel v2.05 - "net_info" - GET INTERFACE STATISTICS
  7547.     AH = 06h
  7548.     BX = network descriptor (must be allocated and open)
  7549.     DS:SI -> 38-byte buffer for interface statistics (see #2585)
  7550. Return: CF clear if successful
  7551.         buffer filled
  7552.     CF set on error
  7553.         AX = error code (see #2449)
  7554. Desc:    returns the statistics relevant to the particular network interface
  7555.        used by the specified network descriptor
  7556. Range:    INT 20 to INT E0, selected by configuration
  7557. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=05h"PC/TCP"
  7558.  
  7559. Format of PC/TCP interface statistics:
  7560. Offset    Size    Description    (Table 2585)
  7561.  00h    WORD    interface class (e.g. 802.3)
  7562.  02h    WORD    type (manufacturer) of interface
  7563.  04h    WORD    interface number
  7564.  06h    DWORD    (big-endian) IP address of interface
  7565.  0Ah    DWORD    subnet mask
  7566.  0Eh    WORD    0001h if interface is up
  7567.  10h    DWORD    total packets received
  7568.  14h    DWORD    total packets sent
  7569.  18h    DWORD    receive errors
  7570.  1Ch    DWORD    send errors
  7571.  20h    WORD    length of local net address (e.g. 0006h for Ethernet)
  7572.  22h    DWORD    pointer to local net address
  7573. --------N-6106-------------------------------
  7574. INT 61 - Banyan VINES - GET PCCONFIG BASE ADDRESS
  7575.     AH = 06h
  7576.     DS:DX -> 4-byte buffer for far pointer to PCCONFIG area
  7577. Return: AX = 0000h successful
  7578. Note:    The PCCONFIG area is located in the code segment of the BANV handler
  7579. SeeAlso: AH=05h"VINES",AH=0Bh"VINES"
  7580. --------N-6107-------------------------------
  7581. INT 61 - PC/TCP kernel v2.05+ - "net_globalize" - MAKE NET DESCRIPTOR GLOBAL
  7582.     AH = 07h
  7583.     BX = local network descriptor
  7584. Return: CF clear if successful
  7585.         AX = global network descriptor
  7586.     CF set on error
  7587.         AX = error code (see #2449)
  7588. Notes:    the new network descriptor can be accessed from all processes and is
  7589.       independent of DOS
  7590.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7591. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  7592. SeeAlso: INT 61/AH=29h
  7593. --------N-6107-------------------------------
  7594. INT 61 - Banyan VINES - GET VINES REVISION NUMBER (LONG)
  7595.     AH = 07h
  7596.     DS:DX -> 4-byte buffer for result
  7597. Return: AX = 0000h successful
  7598.         DS:DX buffer contains revision number as
  7599.         10000d * major_ver + 100d * minor_ver + patch_revision
  7600. SeeAlso: AH=02h"VINES",AH=04h"VINES",AH=08h"VINES"
  7601. --------b-6107-------------------------------
  7602. INT 61 - Atari Portfolio - FORMAT CREDIT CARD MEMORY
  7603.     AH = 07h
  7604.     AL = drive number (00h = A:,01h = B:)
  7605. Return: CF clear if successful
  7606.     CF set on error
  7607.         AH = error code (see #0141 at INT 13/AH=01h)
  7608. Note:    do not use this function to format the internal disk (drive number 02h)
  7609. SeeAlso: AH=00h"Portfolio",AH=08h"Portfolio",AH=09h"Portfolio"
  7610. --------N-6108-------------------------------
  7611. INT 61 - PC/TCP kernel v2.05+ - "net_release" - CLOSE A NETWORK DESCRIPTOR
  7612.     AH = 08h
  7613.     BX = network descriptor
  7614. Return: CF clear if successful
  7615.         AX = 0000h (BWPCTCP shim)
  7616.     CF set on error
  7617.         AX = error code (see #2449)
  7618. Range:    INT 20 to INT E0, selected by configuration
  7619. Note:    the descriptor will be closed and resources released.  If a stream
  7620.       descriptor, the protocol (FIN etc) is completed unless the
  7621.       non-blocking option has been set.
  7622. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=09h"PC/TCP"
  7623. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  7624. --------N-6108-------------------------------
  7625. INT 61 - Banyan VINES - CHECK VINES REVISION NUMBER IN RANGE (LONG)
  7626.     AH = 08h
  7627.     DS:DX -> 4-byte buffer containing the VINES revision number
  7628.         DS:DX buffer contains revision number as
  7629.         10000d * major_ver + 100d * minor_ver + patch_revision
  7630. Return: AX = status
  7631.         0000h valid version
  7632.         0004h out of range
  7633. Note:    For Revision 5.53, the valid range is 4.10(0) to 6.19(99)
  7634. SeeAlso: AH=04h"VINES",AH=07h"VINES"
  7635. --------b-6108-------------------------------
  7636. INT 61 - Atari Portfolio - GET SIZE OF INTERNAL DISK
  7637.     AH = 08h
  7638. Return: AX = segment address of RAMdisk
  7639.     BX = size in KB
  7640. SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=09h"Portfolio"
  7641. --------N-6109-------------------------------
  7642. INT 61 - PC/TCP kernel v2.05+ - "net_releaseall" - CLOSE ALL NON-GLOBAL DESCRS
  7643.     AH = 09h
  7644. Return: CF clear
  7645. Range:    INT 20 to INT E0, selected by configuration
  7646. Notes:    this call performs function 08h on every non-global network descriptor.
  7647.       Global descriptors must be released individually.
  7648. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  7649. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  7650. --------N-6109-------------------------------
  7651. INT 61 - Banyan VINES - GET VALUE OF AN OS/2 BACKEND VARIABLE
  7652.     AH = 09h
  7653.     other parameters, if any, unknown
  7654. SeeAlso: AH=0Ah"VINES"
  7655. --------b-6109-------------------------------
  7656. INT 61 - Atari Portfolio - FORMAT INTERNAL DISK
  7657.     AH = 09h
  7658.     BX = desired size of disk in KB
  7659. Return: CF clear if successful
  7660.     CF set on error
  7661.         BX = maximum possible size in KB
  7662. Desc:    resize and erase the internal RAMdisk, then reboot the system
  7663. SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=08h"Portfolio"
  7664. SeeAlso: AH=0Bh"Portfolio"
  7665. --------N-610A-------------------------------
  7666. INT 61 - PC/TCP kernel v2.05 - "net_send" - ???
  7667.     AH = 0Ah
  7668.     ???
  7669. Return: ???
  7670. Notes:    this function is described as "unused" in the v2.05 and v2.2
  7671.       documentation
  7672.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7673. SeeAlso: AH=0Bh
  7674. --------N-610A-------------------------------
  7675. INT 61 - Banyan VINES - SET VALUE OF AN OS/2 BACKEND VARIABLE
  7676.     AH = 0Ah
  7677.     other parameters, if any, unknown
  7678. SeeAlso: AH=09h"VINES"
  7679. --------N-610B-------------------------------
  7680. INT 61 - PC/TCP kernel v2.05 - "net_sendto" - ???
  7681.     AH = 0Bh
  7682.     ???
  7683. Return: ???
  7684. Range:    INT 20 to INT E0, selected by configuration
  7685. Notes:    this function is described as "unused" in the v2.05 and v2.2
  7686.       documentation
  7687.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7688. SeeAlso: AH=0Ah
  7689. --------N-610B-------------------------------
  7690. INT 61 - Banyan VINES - SET PCCONFIG IN BACKEND
  7691.     AH = 0Bh
  7692.     other parameters, if any, unknown
  7693. SeeAlso: AH=05h"VINES",AH=06h"VINES"
  7694. --------b-610B-------------------------------
  7695. INT 61 - Atari Portfolio - DETERMINE CCM VALIDITY
  7696.     AH = 0Bh
  7697.     AL = drive number (00h = A:,01h = B:)
  7698. Return: CF clear if successful (card present and correct)
  7699.     CF set on error
  7700.         AH = error code (see #0141 at INT 13/AH=01h)
  7701. SeeAlso: AH=00h"Portfolio",AH=07h"Portfolio",AH=0Dh"Portfolio"
  7702. --------N-610C-------------------------------
  7703. INT 61 u - PC/TCP kernel v2.05+ - "net_stat" - GET CONNECTION STATISTICS
  7704.     AH = 0Ch
  7705.     BX = network descriptor or one of the following:
  7706.         FFFCh for kernel ICMP statistics (see #2589)
  7707.         FFFDh for kernel UDP statistics (see #2588)
  7708.         FFFEh for kernel IP statistics (see #2587)
  7709.         FFFFh for kernel TCP statistics (see #2586)
  7710.     DS:DX -> 64-byte buffer
  7711. Return: CF clear if successful
  7712.         buffer filled
  7713.     CF set on error
  7714.         AX = error code (see #2449)
  7715. Notes:    the fields filled in for a network descriptor depend on the protocol
  7716.       family used by that descriptor's connection
  7717.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7718. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7719.  
  7720. Format of PC/TCP kernel TCP statistics:
  7721. Offset    Size    Description    (Table 2586)
  7722.  00h 16 BYTEs    unused
  7723.  10h    DWORD    bytes sent
  7724.  14h    DWORD    bytes received
  7725.  18h  8 BYTEs    unused
  7726.  20h    DWORD    packets sent
  7727.  24h    DWORD    packets received
  7728.  28h    DWORD    bad checksums
  7729.  2Ch    DWORD    count of window ignored by remote
  7730.  30h    DWORD    timeouts
  7731.  34h    DWORD    resets
  7732.  38h    DWORD    duplicate packets
  7733.  3Ch    DWORD    retransmits
  7734. SeeAlso: #2587,#2588,#2589
  7735.  
  7736. Format of PC/TCP kernel IP statistics:
  7737. Offset    Size    Description    (Table 2587)
  7738.  00h  8 BYTEs    unused
  7739.  08h    DWORD    invalid IP header length errors
  7740.  0Ch    DWORD    protocol errors (unwanted packets)
  7741.  10h    DWORD    duplicate fragments received
  7742.  14h    DWORD    bad fragments received
  7743.  18h    DWORD    security errors
  7744.  1Ch    DWORD    count of bad IP addresses received
  7745.  20h    DWORD    packets sent
  7746.  24h    DWORD    packets received
  7747.  28h    DWORD    bad checksums received
  7748.  2Ch    DWORD    total IP protocol errors
  7749.  30h    DWORD    fragmentation errors
  7750.  34h    DWORD    IP packets discarded + bad security + bad fragments
  7751.  38h    DWORD    fragments received
  7752.  3Ch  4 BYTEs    unused
  7753. SeeAlso: #2586,#2588,#2589
  7754.  
  7755. Format of PC/TCP kernel UDP statistics:
  7756. Offset    Size    Description    (Table 2588)
  7757.  00h 28 BYTEs    unused
  7758.  1Ch    DWORD    packets dropped for lack of buffers
  7759.  20h    DWORD    packets sent
  7760.  24h    DWORD    packets received
  7761.  28h    DWORD    bad checksums
  7762.  2Ch    DWORD    port not listening errors
  7763.  30h  4 BYTEs    unused
  7764.  34h    DWORD    truncated receives
  7765.  38h  8 BYTEs    unused
  7766. SeeAlso: #2586,#2587,#2589
  7767.  
  7768. Format of PC/TCP kernel ICMP statistics:
  7769. Offset    Size    Description    (Table 2589)
  7770.  00h    DWORD    "TimeEx" sent
  7771.  04h    DWORD    "TimeEx" received
  7772.  08h    DWORD    "ParamProb" sent
  7773.  0Ch    DWORD    "ParamProb" received
  7774.  10h    DWORD    redirects received
  7775.  14h    DWORD    source quenches received
  7776.  18h    DWORD    ICMP Echo Requests ("ping") sent
  7777.  1Ch    DWORD    ICMP Echo Requests received
  7778.  20h    DWORD    packets sent
  7779.  24h    DWORD    packets received
  7780.  28h    DWORD    bad packets received
  7781.  2Ch    DWORD    "DestUn" received
  7782.  30h    DWORD    packet send errors
  7783.  34h    DWORD    "DestUn" sent
  7784.  38h    DWORD    ICMP Echo replies received
  7785.  3Ch    DWORD    ICMP Echo replies sent
  7786. SeeAlso: #2586,#2587,#2588
  7787. --------N-610D-------------------------------
  7788. INT 61 - PC/TCP kernel v2.05+ - "is_netnd" - CHECK IF NETWORK DESCRIPTOR VALID
  7789.     AH = 0Dh
  7790.     BX = possible network descriptor
  7791. Return: CF clear if valid
  7792.     CF set on error
  7793.         AX = error code (see #2449 at INT 61"PC/TCP")
  7794. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=08h"PC/TCP"
  7795. SeeAlso: INT 61/AH=22h
  7796. --------b-610D-------------------------------
  7797. INT 61 - Atari Portfolio - GET SCREEN SIZE
  7798.     AH = 0Dh
  7799. Return: AX = physical screen size (AH=rows, AL=columns)
  7800.     DX = logical screen size (DH=rows, DL=columns)
  7801. SeeAlso: AH=00h"Portfolio",AH=0Bh"Portfolio",AH=0Eh"Portfolio"
  7802. --------N-610E-------------------------------
  7803. INT 61 - PC/TCP kernel v2.05+ - "net_select" - DETECT READINESS OF NETWORK
  7804.     AH = 0Eh
  7805.     BX = maximum value of network descriptor for which to return info
  7806.     DS:DX -> 32-bit (max) array of bit flags for read readiness
  7807.     ES:DI -> 32-bit (max) array of bit flags for write readiness
  7808. Return: CF clear
  7809. Range:    INT 20 to INT E0, selected by configuration
  7810. Notes:    bits in the DS:DX buffer are set if the corresponding network
  7811.       descriptor may be read without blocking; bits in the ES:DI buffer
  7812.       are set if the corresponding network descriptor may be written
  7813.       without blocking.  This implies that the network descriptor has
  7814.       opened correctly and the protocol initialized.
  7815.     the installation check consists of testing for the signature "TCPTSR"
  7816.       three bytes beyond the start of the interrupt handler
  7817. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7818. --------b-610E-------------------------------
  7819. INT 61 - Atari Portfolio - GET/SET SCREEN MODE
  7820.     AH = 0Eh
  7821.     AL = function
  7822.         00h get mode
  7823.         01h set mode
  7824.         DL = new mode (see #2590)
  7825. Return: DL = current/old mode
  7826. Note:    if changing the mode places the cursor position or virtual screen
  7827.       origin outside the displayed area, the screen origin will be reset
  7828.       to (0,0), the screen cleared, and the cursor position set to (0,0)
  7829. SeeAlso: AH=00h"Portfolio",AH=0Dh"Portfolio",AH=0Fh"Portfolio",INT 10/AH=00h
  7830.  
  7831. Bitfields for Atari Portfolio screen mode:
  7832. Bit(s)    Description    (Table 2590)
  7833.  0    40x8 mode instead of 80x25
  7834.  1    tracked mode
  7835.  7    graphics
  7836. Note:    the above bits are mutually exclusive
  7837. --------N-610F-------------------------------
  7838. INT 61 - PC/TCP kernel v2.05+ - "get_netversion" - GET SOFTWARE VERSION
  7839.     AH = 0Fh
  7840. Return: CF clear
  7841.     AX = version (AH = major, AL = minor)
  7842.     BX = patch level
  7843. Notes:    patch levels are no longer used starting with version 2.10; instead,
  7844.       the minor version level is incremented.
  7845.     Beame&Whiteside's BWPCTCP v3.0a shim reports version 2.05, but does not
  7846.       set BX
  7847. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7848. --------b-610F-------------------------------
  7849. INT 61 - Atari Portfolio - GET/SET CURSOR MODE
  7850.     AH = 0Fh
  7851.     AL = function
  7852.         00h get mode
  7853.         01h set mode
  7854.         BL = new cursor mode
  7855.             00h cursor off
  7856.             01h underline
  7857.             02h block
  7858.         02h force mode (set size to reflect NumLock state)
  7859. Return: BL = current/old cursor mode
  7860. SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=10h"Portfolio",INT 10/AH=01h
  7861. --------N-6110-------------------------------
  7862. INT 61 - PC/TCP kernel v2.05+ - "net_shutdown" - UNINSTALL
  7863.     AH = 10h
  7864. Return: CF clear if successful
  7865.     CF set on error
  7866.         AX = error code (see #2449 at INT 61"PC/TCP")
  7867. Range:    INT 20 to INT E0, selected by configuration
  7868. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7869. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7870. --------b-6110-------------------------------
  7871. INT 61 - Atari Portfolio - GET/SET VIRTUAL SCREEN POSITION
  7872.     AH = 10h
  7873.     AL = function
  7874.         00h get position
  7875.         Return: DH,DL = current row,column
  7876.         01h set position
  7877.         DH = row
  7878.         DL = column
  7879. Desc:    get or specify the upper-left corner of the 40x8 window into the
  7880.       logical screen
  7881. SeeAlso: AH=00h"Portfolio",AH=0Eh"Portfolio",AH=0Fh"Portfolio"
  7882. SeeAlso: AH=11h"Portfolio"
  7883. --------N-6111-------------------------------
  7884. INT 61 - PC/TCP kernel v2.05+ - "disable_async" - DISABLE ASYNCHRONOUS HANDLERS
  7885.     AH = 11h
  7886. Return: CF clear
  7887.     AX = previous state
  7888.         0000h async calls were already disabled
  7889.         else  async calls were enabled
  7890. SeeAlso: INT 61"PC/TCP",INT 61/AH=12h
  7891. --------b-6111-------------------------------
  7892. INT 61 - Atari Portfolio - MOVE VIRTUAL SCREEN ORIGIN
  7893.     AH = 11h
  7894.     AL = number of lines to move
  7895.     DL = direction of move (1=up, 2=down, 3=left, 4=right)
  7896. SeeAlso: AH=00h"Portfolio",AH=10h"Portfolio",AH=12h"Portfolio"
  7897. --------N-6112-------------------------------
  7898. INT 61 - PC/TCP kernel v2.05+ - "enable_async" - ENABLE ASYNCHRONOUS HANDLERS
  7899.     AH = 12h
  7900. Return: CF clear
  7901.     AX = previous state
  7902.         0000h async calls were disabled
  7903.         else  async calls were already enabled
  7904. SeeAlso: INT 61"PC/TCP",INT 61/AH=11h
  7905. --------b-6112-------------------------------
  7906. INT 61 - Atari Portfolio - SCREEN REFRESH
  7907.     AH = 12h
  7908. Return: nothing
  7909. Desc:    copy contents of video RAM to LCD controller
  7910. SeeAlso: AH=10h"Portfolio",AH=11h"Portfolio",AH=15h"Portfolio"
  7911. --------N-6113-------------------------------
  7912. INT 61 - PC/TCP kernel v2.05 - "net_connect" - OPEN A NETWORK CONNECTION
  7913.     AH = 13h
  7914.     BX = network descriptor (FFFFh for automatic net_getdesc)
  7915.     DX = protocol (see #2591)
  7916.     DS:SI -> buffer for "addr" structure (see #2592)
  7917. Return: CF clear if successful
  7918.         AX = network descriptor used or allocated
  7919.     CF set on error
  7920.         AX = error code (see #2449 at INT 61"PC/TCP")
  7921. Notes:    resets the connection with AH=19h in various cases
  7922.     will wait for protocol on stream connections unless non-blocking was
  7923.       set with AH=20h
  7924. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=18h,INT 61/AH=23h
  7925. SeeAlso: INT 63/AH=14h"BW-TCP"
  7926.  
  7927. (Table 2591)
  7928. Values for PC/TCP protocol:
  7929.  0001h    raw net (undocumented)
  7930.  0002h    raw IP
  7931.  0003h    datagram (UDP)
  7932.  0004h    stream (TCP)
  7933.  0005h    raw ICMP
  7934.  
  7935. Format of structure "addr":
  7936. Offset    Size    Description    (Table 2592)
  7937.  00h    DWORD    Internet address (network order)
  7938.  04h    WORD    remote socket number (network order)
  7939.  06h    WORD    local socket number (network order) 0000h means "you choose"
  7940.  08h    BYTE    protocol (see #2591)
  7941. --------N-6114-------------------------------
  7942. INT 61 Ou - PC/TCP kernel v2.05 - "net_recv" - NO LONGER SUPPORTED
  7943.     AH = 14h
  7944.     BX = network descriptor
  7945. Return: CF set
  7946.         AX = 0018h (see #2449 at INT 61"PC/TCP")
  7947. Notes:    displays error message "Illegal system call!  Please upgrade your
  7948.       PCserver software" to standard output
  7949.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7950. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=0Ah,INT 61/AH=15h
  7951. --------N-6115-------------------------------
  7952. INT 61 - PC/TCP kernel v2.05 - "net_recvfrom" - ???
  7953.     AH = 15h
  7954.     ???
  7955. Return: ???
  7956. Notes:    this function is described as "unused" in the v2.2 documentation
  7957.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  7958. SeeAlso: INT 61/AH=0Bh,INT 61/AH=14h
  7959. --------b-6115-------------------------------
  7960. INT 61 - Atari Portfolio - SOUND GENERATION
  7961.     AH = 15h
  7962.     AL = function
  7963.         00h key click
  7964.         01h beep
  7965.         02h alarm
  7966. Return: nothing
  7967. SeeAlso: AH=00h"Portfolio",AH=12h"Portfolio",AH=16h"Portfolio"
  7968. --------N-6116-------------------------------
  7969. INT 61 - PC/TCP kernel v2.05+ - "net_peer" - GET DATA ON REMOTE PEER
  7970.     AH = 16h
  7971.     BX = network descriptor
  7972.     DS:DX -> 9-byte buffer for "addr" structure (see #2592)
  7973. Return: CF clear if successful
  7974.         buffer filled
  7975.     CF set on error
  7976.         AX = error code (see #2449 at INT 61"PC/TCP")
  7977. Range:    INT 20 to INT E0, selected by configuration
  7978. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  7979. --------b-6116-------------------------------
  7980. INT 61 - Atari Portfolio - MELODY TONE GENERATOR
  7981.     AH = 16h
  7982.     CX = length of tones in 1/100 sec
  7983.     DL = tone code (see #2593)
  7984. SeeAlso: AH=15h"Portfolio",AH=17h"Portfolio"
  7985.  
  7986. (Table 2593)
  7987. Values for Atari Portfolio tone code:
  7988.  04h    A6#1864.7 Hz
  7989.  05h    B6    1975.5 Hz
  7990.  06h    D7    2348.3 Hz
  7991.  07h    D7#    2489.0 Hz
  7992.  0Eh    F6#    1480.0 Hz
  7993.  25h    C7    2093.0 Hz
  7994.  29h    D6    1174.7 Hz
  7995.  2Ch    G6#    1661.2 Hz
  7996.  2Fh    C7#    2217.5 Hz
  7997.  30h    D5#    622.3 Hz
  7998.  31h    E5    659.3 Hz
  7999.  32h    F5    698.5 Hz
  8000.  33h    F5#    740.0 Hz
  8001.  34h    G5    784.0 Hz
  8002.  35h    G5#    830.6 Hz
  8003.  36h    A5    880.6 Hz
  8004.  37h    A5#    932.3 Hz
  8005.  38h    B5    987.8 Hz
  8006.  39h    C6    1046.5 Hz
  8007.  3Ah    C6#    1108.7 Hz
  8008.  3Bh    D6#    1244.5 Hz
  8009.  3Ch    E6    1318.5 Hz
  8010.  3Dh    F6    1396.9 Hz
  8011.  3Eh    G6    1568.9 Hz
  8012.  3Fh    A6    1760.0 Hz
  8013. --------N-6117-------------------------------
  8014. INT 61 - PC/TCP kernel v2.05+ - "net_reconfig" - RE-READ KERNEL CONFIGURATION
  8015.     AH = 17h
  8016. Return: CF clear if successful
  8017.     CF set on error
  8018.         AX = error code (see #2449 at INT 61"PC/TCP")
  8019. Notes:    this routine is deprecated in v2.1+ and will eventually be withdrawn;
  8020.       in v2.1+, this function calls AH=01h which should be used instead
  8021.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8022. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=01h"PC/TCP"
  8023. --------b-6117-------------------------------
  8024. INT 61 - Atari Portfolio - DIAL NUMBER
  8025.     AH = 17h
  8026.     DS:SI -> ASCII string containing number to dial
  8027.     CX = length of string
  8028. Note:    valid characters for string are "0123456789ABCD*#"
  8029. SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=16h"Portfolio"
  8030. SeeAlso: AH=18h"Portfolio"
  8031. --------N-6118-------------------------------
  8032. INT 61 - PC/TCP kernel v2.05+ - "net_eof" - CLOSE TRANSMIT SIDE OF CONNECTION
  8033.     AH = 18h
  8034.     BX = network descriptor
  8035. Return: CF clear if successful
  8036.     CF set on error
  8037.         AX = error code (see #2449 at INT 61"PC/TCP")
  8038. Note:    a TCP "FIN" command is sent and no further data may be transmitted,
  8039.       although the connection remains open
  8040. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h"PC/TCP"
  8041. SeeAlso: INT 63/AH=0Eh"BW-TCP"
  8042. --------b-6118-------------------------------
  8043. INT 61 - Atari Portfolio - MUTE STATES
  8044.     AH = 18h
  8045.     AL = function
  8046.         00h get mute state
  8047.         01h set mute state
  8048.         02h get key click state
  8049.         03h set key click state
  8050.         04h get beep state
  8051.         05h set beep state
  8052.         06h get alarm state
  8053.         07h set alarm state
  8054.         08h get DTMF duration
  8055.         09h set DTMF duration
  8056.     DL = new state ("set" functions) (00h off [muted], 01h on)
  8057. Return: DL = current state ("get" functions) (00h off [muted], 01h on)
  8058. SeeAlso: AH=15h"Portfolio",AH=16h"Portfolio",AH=17h"Portfolio"
  8059. SeeAlso: AH=19h"Portfolio"
  8060. --------N-6119-------------------------------
  8061. INT 61 - PC/TCP kernel v2.05+ - "net_abort" - RESET A NETWORK CONNECTION
  8062.     AH = 19h
  8063.     BX = network descriptor
  8064. Return: CF clear if successful
  8065.     CF set on error
  8066.         AX = error code (see #2449 at INT 61"PC/TCP")
  8067. Desc:    immediately destroys the specified connection
  8068. Note:    send a TCP "RST" command if a stream connection is open
  8069. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=24h
  8070. --------b-6119-------------------------------
  8071. INT 61 - Atari Portfolio - GET SERIAL PORT PARAMETERS
  8072.     AH = 19h
  8073.     DX = serial port number
  8074. Return: AH = status
  8075.         00h successful
  8076.         AL = composite parameters (see #0201 at INT 14/AH=00h)
  8077.         other error
  8078. SeeAlso: AH=00h"Portfolio",AH=15h"Portfolio",AH=1Ah"Portfolio"
  8079. --------N-611A-------------------------------
  8080. INT 61 - PC/TCP kernel v2.05+ - "net_write" - WRITE TO THE NETWORK
  8081.     AH = 1Ah
  8082.     BX = network descriptor
  8083.     CX = number of bytes to transmit (0000h allowed)
  8084.     DX = send options (see #2594)
  8085.     DS:SI -> data to be written
  8086. Return: CF clear if successful
  8087.         AX = number of bytes actually written
  8088.         DX = ???
  8089.     CF set on error
  8090.         AX = error code (see #2449 at INT 61"PC/TCP")
  8091. Range:    INT 20h to INT E0h, selected by configuration
  8092. Notes:    the installation check consists of testing for the signature "TCPTSR"
  8093.       three bytes beyond the start of the interrupt handler
  8094. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
  8095. SeeAlso: INT 63/AH=19h"BW-TCP",INT 63/AH=1Bh"BW-TCP"
  8096.  
  8097. Bitfields for PC/TCP send options:
  8098. Bit(s)    Description    (Table 2594)
  8099.  0    signal "URG"ent data
  8100.  3    attempt rerouting on non-stream calls if first attempt fails
  8101.  4    send data with PUSH flag (no override of Nagle) (see option 0Ch)
  8102.  5    fail rather than truncating datagram
  8103.  6    fail rather than blocking
  8104.  7    broadcast packet
  8105. --------b-611A-------------------------------
  8106. INT 61 - Atari Portfolio - GET PERIPHERAL ID BYTE
  8107.     AH = 1Ah
  8108. Return: AH = peripheral ID byte
  8109.     AL = 00h if no peripheral installed
  8110. Desc:    get the ID code for the current terminating peripheral
  8111. SeeAlso: AH=00h"Portfolio",AH=18h"Portfolio",AH=1Bh"Portfolio"
  8112. --------N-611B-------------------------------
  8113. INT 61 - PC/TCP kernel v2.05+ - "net_read" - READ FROM THE NETWORK
  8114.     AH = 1Bh
  8115.     BX = network descriptor
  8116.     CX = maximum number of bytes to read
  8117.     DX = receive options (see #2595)
  8118.     DS:SI -> buffer for data
  8119.     ES:DI -> "addr" structure (see #2592) for remote from which to read
  8120.         0000h:0000h for any
  8121. Return: CF clear if successful
  8122.         AX = number of bytes actually read
  8123.         DX = ???
  8124.     CF set on error
  8125.         AX = error code (see #2449 at INT 61"PC/TCP")
  8126. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
  8127.  
  8128. Bitfields for PC/TCP receive options:
  8129. Bit(s)    Description    (Table 2595)
  8130.  1    do not remove data from queue, just copy it
  8131.  2    do not copy data, just remove it from queue
  8132.  5    fail if datagram would be truncated
  8133.  6    do not block, return error if no data available
  8134. Note:    special case for UDP: if both 1 and 2 set, return number of datagrams
  8135. --------b-611B-------------------------------
  8136. INT 61 - Atari Portfolio - SET PERIPHERAL ID BYTE
  8137.     AH = 1Bh
  8138.     AL = which peripheral to set
  8139.         00h serial
  8140.         01h parallel
  8141.     DL = peripheral ID
  8142. Return: nothing
  8143. Desc:    specify that a peripheral is compatible with the BIOS serial or
  8144.       parallel services
  8145. SeeAlso: AH=1Ah"Portfolil",AH=1Ch"Portfolio"
  8146. --------N-611C-------------------------------
  8147. INT 61 - PC/TCP kernel v2.05+ - "net_writeto" - WRITE A DATAGRAM
  8148.     AH = 1Ch
  8149.     BX = network descriptor
  8150.     CX = number of bytes to transmit (0000h allowed)
  8151.     DX = send options (see #2594)
  8152.     DS:SI -> data to be written
  8153.     ES:DI -> "addr" structure (see #2592)
  8154. Return: CF clear if successful
  8155.         AX = number of bytes actually written
  8156.         DX = ???
  8157.     CF set on error
  8158.         AX = error code (see #2449 at INT 61"PC/TCP")
  8159. Note:    this function differs from AH=1Ah in that the address and socket
  8160.       numbers can be overridden
  8161. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Ah,INT 61/AH=1Dh
  8162. SeeAlso: INT 63/AH=21h"BW-TCP"
  8163. --------b-611C-------------------------------
  8164. INT 61 - Atari Portfolio - PRESET/GET PERIPHERAL DATA
  8165.     AH = 1Ch
  8166.     AL = function
  8167.         00h preset data values
  8168.         BL = data value
  8169.         DX = I/O address
  8170.         01h get data values
  8171.     BH = table entry number (04h-09h)
  8172. Return: if function 01h
  8173.         BL = data value
  8174.         DX = I/O address
  8175. Desc:    preset peripheral I/O data in a table mapping I/O addresses to data
  8176.       values; function 00h additionally outputs the data value to the
  8177.       I/O port
  8178. SeeAlso: AH=1Ah"Portfolio",AH=1Bh"Portfolio",AH=1Eh"Portfolio"
  8179. --------N-611D-------------------------------
  8180. INT 61 - PC/TCP kernel v2.05+ - "net_readfrom" - READ A DATAGRAM
  8181.     AH = 1Dh
  8182.     BX = network descriptor
  8183.     CX = maximum number of bytes to read
  8184.     DX = receive options (see #2594)
  8185.     DS:SI -> buffer for received data
  8186.     ES:DI -> 9-byte buffer containing "addr" structure (see #2592)
  8187. Return: CF clear if successful
  8188.         AX = number of bytes read
  8189.         DX = ???
  8190.     CF set on error
  8191.         AX = error code (see #2449 at INT 61"PC/TCP")
  8192. Notes:    this function can read from any host or a designated host depending
  8193.       on settings in the "addr" structure
  8194.     only for use with datagram or Raw descriptors
  8195. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=1Bh,INT 61/AH=1Ch
  8196. --------N-611E-------------------------------
  8197. INT 61 - PC/TCP kernel v2.05+ - "net_flush" - FLUSH PENDING DATA
  8198.     AH = 1Eh
  8199.     BX = network descriptor
  8200. Return: CF clear if successful
  8201.     CF set on error
  8202.         AX = error code (see #2449 at INT 61"PC/TCP")
  8203. Range:    INT 20 to INT E0, selected by configuration
  8204. Notes:    bufferred data is transmitted immediately, overriding Nagle's algorithm
  8205.       if necessary
  8206.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8207. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8208. --------b-611E-------------------------------
  8209. INT 61 - Atari Portfolio - GET/SET CLOCK TICK SPEED
  8210.     AH = 1Eh
  8211.     AL = function
  8212.         00h get speed
  8213.         01h set speed
  8214.         BX = clock tick speed
  8215.             0000h tick every 128 seconds
  8216.             0001h tick every second
  8217. Return: if function 00h
  8218.         BX = clock tick speed
  8219. Note:    the faster tick speed also uses more power
  8220. SeeAlso: AH=00h"Portfolio",AH=1Ch"Portfolio",AH=1Fh"Portfolio"
  8221. --------N-611F-------------------------------
  8222. INT 61 - PC/TCP kernel v2.05+ - "net_asynch" - SET UP ASYNCHRONOUS CALL-BACK
  8223.     AH = 1Fh
  8224.     BX = network descriptor
  8225.     CX = event type (see #2596)
  8226.     DS:SI -> event handler routine (see #2597)
  8227.     ES:DI = 32-bit hint passed to handler
  8228. Return: CF clear if successful
  8229.         DS:DX -> previous handler
  8230.     CF set on error
  8231.         AX = error code (see #2449 at INT 61"PC/TCP")
  8232. Note:    ICMP messages do not trigger events on stream connections
  8233. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8234.  
  8235. (Table 2596)
  8236. Values for PC/TCP event type:
  8237.  00h    alarm
  8238.  01h    open (successfully opened stream connection)
  8239.  02h    receive (data available)
  8240.  03h    transmit (ACK received on stream connection)
  8241.  04h    transmit flush???
  8242.  05h    foreign close (remote host closed data connection)
  8243.  06h    close (local host closed connection and protocol is complete)
  8244.  07h    error (error code passed to handler as arg)
  8245.  
  8246. (Table 2597)
  8247. Values PC/TCP user event handler is called with:
  8248.     BX = network descriptor
  8249.     CX = event type (see #2596)
  8250.     DS:DX -> arg
  8251.     ES:DI = 32-bit hint value
  8252.     STACK:    small stack, possibly the DOS stack
  8253. --------b-611F-------------------------------
  8254. INT 61 - Atari Portfolio - GET KEY/NMI-INVOKED SCREEN REFRESH
  8255.     AH = 1Fh
  8256.     AL = function
  8257.         00h get state
  8258.         01h set state
  8259.         DH = new refresh-on-NMI state
  8260.             (00h disabled, 01h enabled, bit 7 set = don't change)
  8261.         DL = new refresh-on-key state
  8262. Return: DH,DL = current/old states
  8263. SeeAlso: AH=00h"Portfolio",AH=1Eh"Portfolio",AH=20h"Portfolio"
  8264. --------N-6120-------------------------------
  8265. INT 61 - PC/TCP kernel v2.05+ - "set_option" - SET AN OPTION ON A DESCRIPTOR
  8266.     AH = 20h
  8267.     BX = network descriptor
  8268.     CX = length of buffer (usually 04h)
  8269.     DS:DX -> buffer containing option
  8270.     SI = (ignored by v2.2-)
  8271.     DI = option to set (see #2598)
  8272. Return: CF clear if successful
  8273.     CF set on error
  8274.         AX = error code (see #2449 at INT 61"PC/TCP")
  8275. Note:    Beame&Whiteside's BWPCTCP shim only supports options 01h and 0Bh; all
  8276.       others return CF clear
  8277. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=21h
  8278.  
  8279. (Table 2598)
  8280. Values for PC/TCP option to get or set:
  8281.  01h    set non-blocking mode if non-zero
  8282.  02h    timeout of call in milliseconds
  8283.  03h    user-defined 4-byte magic cookie (not used by kernel)
  8284.  04h    TCP window or UDP buffer count (WORD, unsigned)
  8285.  06h    do TCP keep-alives if non-zero
  8286.  09h    (v2.1+) set IP precedence
  8287.  0Ah    (v2.1+) set IP type of service
  8288.  0Bh    use a privileged port if port = 0
  8289.  0Ch    turn off TCP PUSH bit and don't flush buffer every write (see AH=1Ah)
  8290. Note:    use "C" true or false values for boolean options
  8291. --------b-6120-------------------------------
  8292. INT 61 - Atari Portfolio - GET/SET INT 09 REVECTORING
  8293.     AH = 20h
  8294.     AL = function
  8295.         00h get INT 09 revectoring state
  8296.         01h set state
  8297.         DL = new state (00h disable, 01h enable)
  8298. Return: if function 00h
  8299.         DL = new state (00h disabled, 01h enabled)
  8300. Desc:    specify whether INT 09 is automatically revectored to the BIOS,
  8301.       preventing applications from using their own INT 09 handler on the
  8302.       incompatible keyboard hardware
  8303. SeeAlso: AH=1Eh"Portfolio",AH=1Fh"Portfolio",AH=24h"Portfolio"
  8304. --------N-6121-------------------------------
  8305. INT 61 - PC/TCP kernel v2.05+ - "get_option" - GET OPTIONS APPLIED TO NET DESCR
  8306.     AH = 21h
  8307.     BX = network descriptor
  8308.     CX = length of buffer
  8309.     DS:DX -> buffer for return values
  8310.     SI = 0004h (ignored by v2.2-)
  8311.     DI = option (see #2598)
  8312. Return: CF clear if successful
  8313.         DS:DX -> value (usually 32 bits) returned by selected option
  8314.     CF set on error
  8315.         AX = error code (see #2449 at INT 61"PC/TCP")
  8316. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8317. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=20h
  8318. --------N-6122-------------------------------
  8319. INT 61 u - PC/TCP kernel v2.05+ - "net_getdesc" - ALLOCATE NETWORK DESCRIPTOR
  8320.     AH = 22h
  8321. Return: CF clear if successful
  8322.         AX = network descriptor
  8323.     CF set on error
  8324.         AX = error code (see #2449 at INT 61"PC/TCP")
  8325. Note:    the descriptor will be an integer in the range 00h-1Fh, and a DOS call
  8326.       is made to allocate this as a file descriptor.  Hence a number may
  8327.       not refer to a PC/TCP network descriptor and a DOS file handle
  8328.       simultaneously.
  8329. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h,INT 61/AH=29h
  8330. --------N-6123-------------------------------
  8331. INT 61 - PC/TCP kernel v2.05+ - "net_listen" - LISTEN FOR INCOMING CONNECTIONS
  8332.     AH = 23h
  8333.     BX = network descriptor or FFFFh to allocate descriptor
  8334.     DX = type of service
  8335.     DS:SI -> "addr" structure (see #2592)
  8336. Return: CF clear if successful
  8337.         AX = network descriptor
  8338.     CF set on error
  8339.         AX = error code (see #2449 at INT 61"PC/TCP")
  8340. Notes:    type of service and "addr" structure are as for AH=13h
  8341.     any of the address structure can be zero; normally local socket number
  8342.       is filled in prior to call
  8343. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=13h
  8344. SeeAlso: INT 63/AH=12h"BW-TCP"
  8345. --------N-6124-------------------------------
  8346. INT 61 - PC/TCP kernel v2.05+ - "net_abortall" - RESET ALL NETWORK CONNECTIONS
  8347.     AH = 24h
  8348. Return: always successful
  8349. Note:    performs "net_abort" (AH=19h) on all open non-global descriptors
  8350. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=19h
  8351. --------b-6124-------------------------------
  8352. INT 61 - Atari Portfolio - GET/SET ROM/CCM SPACE STATE
  8353.     AH = 24h
  8354.     AL = function
  8355.         00h get state
  8356.         01h set state
  8357.         DL = new ROM state (see #2599)
  8358.         DH = new CCM state (see #2600)
  8359. Return:    CF clear if successful
  8360.         DL = current/old ROM state
  8361.         DH = current/old CCM state
  8362.     CF set on error (invalid option or other error)
  8363. Desc:    control whether memory cards or an extension ROM are visible in the
  8364.       range 000C0000h to 000DFFFFh
  8365. SeeAlso: AH=00h"Portfolio",AH=20h"Portfolio",AH=26h"Portfolio"
  8366.  
  8367. (Table 2599)
  8368. Values for Atari Portfolio ROM space state:
  8369.  00h    normal application ROM
  8370.  01h    CCM drive A:
  8371.  02h    CCM drive B:
  8372.  03h    expansion ROM
  8373. SeeAlso: #2600
  8374.  
  8375. (Table 2600)
  8376. Values for Atari Portfolio CCM space state:
  8377.  00h    CCM drives disabled
  8378.  01h    CCM drive A: permanently enabled
  8379.  02h    CCM drive B: permanently enabled
  8380. SeeAlso: #2599
  8381. --------N-6125-------------------------------
  8382. INT 61 - PC/TCP kernel v2.05+ - "ad_res_name" - GET HOST NAME GIVEN ADDRESS
  8383.     AH = 25h
  8384.     DX,BX = IP address in network order
  8385.     CX = length of buffer for name
  8386.     DS:SI -> buffer for host name
  8387. Return: CF clear if successful
  8388.        buffer filled with ASCIZ host name
  8389.     CF set on error
  8390.         AX = error code (see #2449 at INT 61"PC/TCP")
  8391. Note:    this function will use the host table and or DNS to resolve the
  8392.       address, depending on kernel configuration.  Use this call for the
  8393.       normal gethostbyaddr function.
  8394. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=26h,INT 61/AH=27h
  8395. --------N-6126-------------------------------
  8396. INT 61 - PC/TCP kernel v2.05+ - "ad_htable" - GET HOST NAME FROM LOCAL TABLE
  8397.     AH = 26h
  8398.     DX,BX = IP address in network order
  8399.     CX = length of buffer
  8400.     DS:SI -> buffer for host name
  8401. Return: CF clear if successful
  8402.         buffer filled with ASCIZ host name
  8403.     CF set on error
  8404.         AX = error code (see #2449 at INT 61"PC/TCP")
  8405. Notes:    normally one would use AH=25h instead of this function
  8406.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8407. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=27h
  8408. --------b-6126-------------------------------
  8409. INT 61 - Atari Portfolio - GET/SET POWER CONTROL
  8410.     AH = 26h
  8411.     AL = function
  8412.         00h get state
  8413.         01h set state
  8414.         DL = new state
  8415.             00h normal power-down on low battery
  8416.             01h no power-down, but display warning
  8417.             02h no power-down, no warning on low battery
  8418. Return: AL = current/old state
  8419. SeeAlso: AH=00h"Portfolio",AH=24h"Portfolio",AH=28h"Portfolio"
  8420. --------N-6127-------------------------------
  8421. INT 61 - PC/TCP kernel v2.05+ - "ad_domain" - GET HOST NAME FROM DNS
  8422.     AH = 27h
  8423.     DX,BX = IP address in network order
  8424.     CX = length of buffer
  8425.     DS:SI -> buffer for host name
  8426. Return: CF clear if successful
  8427.         buffer filled with ASCIZ host name
  8428.     CF set on error
  8429.         AX = error code (see #2449 at INT 61"PC/TCP")
  8430. Note:    normally one would use AH=25h instead of this function
  8431. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=25h,INT 61/AH=26h
  8432. --------N-6128-------------------------------
  8433. INT 61 - PC/TCP kernel v2.05+ - "net_swap" - EXCHANGE TWO NETWORK DESCRIPTORS
  8434.     AH = 28h
  8435.     BX = network descriptor 1
  8436.     CX = network descriptor 2
  8437. Return: CF clear if successful
  8438.     CF set on error
  8439.         AX = error code (see #2449 at INT 61"PC/TCP")
  8440. Note:    the two descriptors will exchange places; both must be local or both
  8441.       global
  8442. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8443. --------b-6128-------------------------------
  8444. INT 61 - Atari Portfolio - GET/SET TEXT/KEYBOARD LANGUAGE
  8445.     AH = 28h
  8446.     AL = function
  8447.         00h get languages
  8448.         01h set languages
  8449.         DH = new text language (set bit 7 to leave unchanged)
  8450.         DL = new keyboard language (set bit 7 to leave unchanged)
  8451.         03h get language table pointers
  8452. Return: if function 00h or 01h:
  8453.         DH = current/old text language
  8454.         DL = current/old keyboard language
  8455.     if function 03h
  8456.         ES:CX -> keyboard table (see #2601)
  8457.         ES:DX -> language table (see #2601)
  8458. SeeAlso: AH=24h"Portfolio",AH=26h"Portfolio",AH=2Ch"Portfolio"
  8459.  
  8460. Format of Atari Portfolio language table:
  8461. Offset    Size    Description    (Table 2601)
  8462.  00h    BYTE    number of languages supported
  8463.  01h  N BYTEs    supported languages
  8464.         00h English
  8465.         01h French
  8466.         02h German
  8467.         03h Spanish
  8468.         04h Italian
  8469.         05h Swedish
  8470.         06h Danish
  8471. --------N-6129-------------------------------
  8472. INT 61 - PC/TCP kernel v2.05+ - "net_getglobdesc" - ALLOCATE GLOBAL DESCRIPTOR
  8473.     AH = 29h
  8474. Return: CF clear if successful
  8475.         AX = network descriptor
  8476.     CF set on error
  8477.         AX = error code (see #2449 at INT 61"PC/TCP")
  8478. Note:    use this function rather than AH=22h to avoid a DOS call by the PC/TCP
  8479.       kernel; the returned descriptor will be >= 40h and cannot be used
  8480.       with "net_select" (AH=0Eh)
  8481. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=07h"PC/TCP"
  8482. SeeAlso: INT 61/AH=22h
  8483. --------N-612A-------------------------------
  8484. INT 61 - PC/TCP kernel v2.05+ - GET CONFIGURATION INFORMATION
  8485.     AH = 2Ah
  8486.     DS:SI -> 26-byte buffer for configuration information (see #2602)
  8487. Return: CF clear
  8488.     AX = 0000h
  8489.     buffer filled
  8490. Notes:    size of buffer may vary with kernel version; 26 bytes is the size for
  8491.       versions 2.05 through 2.2
  8492.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8493. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8494.  
  8495. Format of PC/TCP configuration information:
  8496. Offset    Size    Description    (Table 2602)
  8497.  00h    BYTE    maximum TCP connections available
  8498.  01h    BYTE    maximum UDP connections available
  8499.  02h    BYTE    maximum IP connections available
  8500.  03h    BYTE    maximum Raw Net connections available
  8501.  04h    BYTE    number of TCP connections currently in use
  8502.  05h    BYTE    number of UDP connections currently in use
  8503.  06h    BYTE    number of IP connections currently in use
  8504.  07h    BYTE    number of Raw Net connections currently in use
  8505.  08h    WORD    number of local network descriptors active
  8506.  0Ah    WORD    number of global network descriptors active
  8507.  0Ch    BYTE    maximum header size on network
  8508.  0Dh    BYTE    maximum trailer size on network
  8509.  0Eh    WORD    size of large packet buffer
  8510.  10h    WORD    number of network interfaces attached
  8511.  12h    DWORD    milliseconds since kernel started
  8512.  16h    DWORD    IP broadcast address
  8513. --------N-612B-------------------------------
  8514. INT 61 - PC/TCP kernel v2.02+ - "net_alarm" - SET TIMED ASYNCHRONOUS EVENT
  8515.     AH = 2Bh
  8516.     BX = network descriptor
  8517.     CX,DX = time before alarm in milliseconds
  8518.     DS:SI -> handler which will receive call (see #2597 at INT 61/AH=1Fh)
  8519.     ES:DI = 32-bit cookie passed to handler
  8520. Return: CF clear if successful
  8521.     CF set on error
  8522.         AX = error code (see #2449 at INT 61"PC/TCP")
  8523. Notes:    this function will cause a NET_AS_ALARM to be generated; it is intended
  8524.       for TSRs, etc. to regain control periodically
  8525.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8526. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8527. --------b-612C-------------------------------
  8528. INT 61 - Atari Portfolio - GET VERSION
  8529.     AH = 2Ch
  8530. Return: DS:BX -> BIOS version string ('$'-terminated)
  8531. SeeAlso: AH=28h"Portfolio",AH=2Dh"Portfolio"
  8532. --------b-612D-------------------------------
  8533. INT 61 - Atari Portfolio - TURN SYSTEM OFF
  8534.     AH = 2Dh
  8535. Return: nothing
  8536. SeeAlso: AH=00h"Portfolio",AH=2Ch"Portfolio",AH=2Eh"Portfolio"
  8537. --------b-612E-------------------------------
  8538. INT 61 - Atari Portfolio - ENABLE/DISABLE SYSTEM STATUS LINE
  8539.     AH = 2Eh
  8540.     AL = new state
  8541.         00h disabled
  8542.         01h enabled
  8543.         DH,DL = row,column at which to display
  8544. Return: nothing
  8545. SeeAlso: AH=00h"Portfolio",AH=2Dh"Portfolio",AH=30h"Portfolio"
  8546. --------N-6130-------------------------------
  8547. INT 61 - PC/TCP kernel v2.05+ - "icmp_ping" - SEND ICMP ECHO REQUEST (PING)
  8548.     AH = 30h
  8549.     BX,DX = IP address of host
  8550.     CX = length of data to send
  8551. Return: CF clear if successful (i.e. reply received)
  8552.     CF set on error
  8553.         AX = error code (see #2449 at INT 61"PC/TCP")
  8554. Note:    this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8555. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP"
  8556. --------b-6130-------------------------------
  8557. INT 61 - Atari Portfolio - FILE TRANSFER SERVICES
  8558.     AH = 30h
  8559.     AL = function
  8560.         00h transmit block
  8561.         CX = number of bytes to send
  8562.         01h receive block
  8563.         CX = buffer size
  8564.         02h open ports
  8565.         03h close ports
  8566.         04h wait 500ms
  8567.     DS:DX -> start of data buffer
  8568. Return:    DL = status
  8569.         00h successful
  8570.         01h buffer too small
  8571.         02h transmission timeout
  8572.         03h checksum failure
  8573.         04h invalid subfunction
  8574.         05h peripheral not installed
  8575.     if function 01h:
  8576.         CX = number of bytes received
  8577. SeeAlso: AH=00h"Portfolio",AH=2Eh"Portfolio"
  8578. --------N-61---------------------------------
  8579. INT 61 u - PC/TCP kernel v2.05 - NOP for SLIP kernel
  8580.     AH = function
  8581.         31h "net_add_route"
  8582.         32h "net_del_route"
  8583.         33h "net_dump_routes"
  8584. Notes:    these functions are described as "unused" in the v2.2 documentation
  8585.     router configuration can be altered using INT 61/AH=01h
  8586.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8587. --------N-6132-------------------------------
  8588. INT 61 U - PC/TCP kernel v2.3 - GET ???
  8589.     AH = 32h
  8590. Return: AX = ???
  8591. Note:    this function is fully re-entrant, and may be called even when another
  8592.       PC/TCP kernel call is already in progress
  8593. --------N-6134-------------------------------
  8594. INT 61 U - PC/TCP kernel v2.1+ - "icmp_destun" - ???
  8595.     AH = 34h
  8596.     ???
  8597. Return: ???
  8598. Notes:    this function is described as "reserved" in the v2.2 documentation
  8599.     this function is not supported by Beame&Whiteside's BWPCTCP v3.0a shim
  8600. --------N-6150-------------------------------
  8601. INT 61 - PC/TCP kernel v2.05+ - "nm_prs_addr" - TRANSLATE NUMERICAL IP ADDRESS
  8602.     AH = 50h
  8603.     DS:DX -> ASCIZ IP address as "dotted quad" (max 127 chars)
  8604. Return: CF clear if successful
  8605.         DX:AX -> IP address
  8606.     CF set on error
  8607.         AX = error code (see #2449 at INT 61"PC/TCP")
  8608. Range:    INT 20 to INT E0, selected by configuration
  8609. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  8610. --------N-6151-------------------------------
  8611. INT 61 - PC/TCP kernel v2.05+ - "nm_htable" - RESOLVE NAME USING HOST TABLE
  8612.     AH = 51h
  8613.     CX = size of destination buffer
  8614.     DS:DX -> ASCIZ host name (max 127 chars)
  8615.     ES:DI -> destination buffer or 0000h:0000h
  8616. Return: CF clear if successful
  8617.         DX:AX -> IP address of host
  8618.         destination buffer filled with canonical host name
  8619.     CF set on error
  8620.         AX = error code (see #2449 at INT 61"PC/TCP")
  8621. Note:    this function calls DOS, and can fail if the DOS call fails
  8622. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  8623. --------N-6152-------------------------------
  8624. INT 61 - PC/TCP kernel v2.05+ - "nm_domain" - RESOLVE NAME USING DNS
  8625.     AH = 52h
  8626.     CX = size of destination buffer
  8627.     DS:DX -> ASCIZ host name (max 127 chars)
  8628.     ES:DI -> destination buffer or 0000h:0000h
  8629. Return: CF clear if successful
  8630.         DX:AX -> IP address of host
  8631.         destination buffer filled with canonical host name
  8632.     CF set on error
  8633.         AX = error code (see #2449 at INT 61"PC/TCP")
  8634. Note:    this function will poll all configured domain name servers if necessary
  8635. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  8636. --------N-6153-------------------------------
  8637. INT 61 - PC/TCP kernel v2.05- - "nm_ien116" - RESOLVE HOST NAME USING IEN116
  8638.     AH = 53h
  8639.     DS:DX -> ASCIZ name to be resolved (max 127 chars)
  8640. Return: CF clear if successful
  8641.         DX:AX -> IP address of host
  8642.     CF set on error
  8643.         AX = error code (see #2449 at INT 61"PC/TCP")
  8644. Range:    INT 20 to INT E0, selected by configuration
  8645. Note:    this function is not supported by v2.10+
  8646. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=54h
  8647. --------N-6154-------------------------------
  8648. INT 61 - PC/TCP kernel v2.05+ - "nm_res_name" - RESOLVE HOST NAME
  8649.     AH = 54h
  8650.     CX = size of destination buffer
  8651.     DS:DX -> ASCIZ host name (max 127 chars)
  8652.     ES:DI -> destination buffer or 0000h:0000h
  8653. Return: CF clear if successful
  8654.         DX:AX -> IP address of host
  8655.         destination buffer filled with canonical host name
  8656.     CF set on error
  8657.         AX = error code (see #2449 at INT 61"PC/TCP")
  8658. Note:    this function uses all configured methods in turn to resolve the
  8659.       name (numerical, then host table, then DNS, then IEN116)
  8660. BUG:    the SLIP kernel for v2.05 bounds-checks the wrong register, so values
  8661.       greater than 54h in AH may crash the system.    Other kernels may have
  8662.       this bug as well; it has been fixed in the v2.2 SLIPDRV kernel.
  8663. SeeAlso: INT 61"PC/TCP",INT 61/AH=00h"PC/TCP",INT 61/AH=50h,INT 61/AH=51h
  8664. SeeAlso: INT 61/AH=52h,INT 61/AH=53h
  8665. --------N-6155-------------------------------
  8666. INT 61 U - PC/TCP kernel v2.3 - ???
  8667.     AH = 55h
  8668.     ???
  8669. Return: ???
  8670. SeeAlso: INT 61"PC/TCP"
  8671. --------N-6156-------------------------------
  8672. INT 61 U - PC/TCP kernel v2.3 - ???
  8673.     AH = 56h
  8674.     ???
  8675. Return: ???
  8676. SeeAlso: INT 61"PC/TCP"
  8677. --------N-6157-------------------------------
  8678. INT 61 U - PC/TCP kernel v2.3 - ???
  8679.     AH = 57h
  8680.     ???
  8681. Return: ???
  8682. SeeAlso: INT 61"PC/TCP"
  8683. --------N-6158-------------------------------
  8684. INT 61 U - PC/TCP kernel v2.3 - ???
  8685.     AH = 58h
  8686.     ???
  8687. Return: ???
  8688. SeeAlso: INT 61"PC/TCP"
  8689. --------N-6159-------------------------------
  8690. INT 61 U - PC/TCP kernel v2.3 - ???
  8691.     AH = 59h
  8692.     ???
  8693. Return: ???
  8694. SeeAlso: INT 61"PC/TCP"
  8695. --------N-615A-------------------------------
  8696. INT 61 U - PC/TCP kernel v2.3 - ???
  8697.     AH = 5Ah
  8698.     ???
  8699. Return: ???
  8700. SeeAlso: INT 61"PC/TCP"
  8701. --------N-615B-------------------------------
  8702. INT 61 U - PC/TCP kernel v2.3 - ???
  8703.     AH = 5Bh
  8704.     ???
  8705. Return: ???
  8706. SeeAlso: INT 61"PC/TCP"
  8707. --------N-615C-------------------------------
  8708. INT 61 U - PC/TCP kernel v2.3 - ???
  8709.     AH = 5Ch
  8710.     ???
  8711. Return: ???
  8712. SeeAlso: INT 61"PC/TCP"
  8713. --------N-615D-------------------------------
  8714. INT 61 U - PC/TCP kernel v2.3 - ???
  8715.     AH = 5Dh
  8716.     ???
  8717. Return: ???
  8718. SeeAlso: INT 61"PC/TCP"
  8719. --------N-615E-------------------------------
  8720. INT 61 U - PC/TCP kernel v2.3 - ???
  8721.     AH = 5Eh
  8722.     ???
  8723. Return: ???
  8724. SeeAlso: INT 61"PC/TCP"
  8725. --------N-615F-------------------------------
  8726. INT 61 U - PC/TCP kernel v2.3 - ???
  8727.     AH = 5Fh
  8728.     ???
  8729. Return: ???
  8730. SeeAlso: INT 61"PC/TCP"
  8731. --------!---Section--------------------------
  8732.